首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将nginx access_log和error_log日志记录到主进程的标准和标准错误中

将nginx access_log和error_log日志记录到主进程的标准和标准错误中
EN

Stack Overflow用户
提问于 2014-03-21 01:55:59
回答 4查看 172K关注 0票数 175

有没有办法让主进程记录到STDOUT STDERR中而不是记录到文件中?

似乎只能将文件路径传递给access_log指令:

代码语言:javascript
复制
access_log  /var/log/nginx/access.log

Error_log也是如此:

代码语言:javascript
复制
error_log /var/log/nginx/error.log

我知道这可能不是nginx的一个特性,例如,我会对使用tail的简明解决方案感兴趣。不过,它最好来自主进程,因为我在前台运行nginx。

EN

回答 4

Stack Overflow用户

发布于 2017-02-21 22:07:49

如果问题和码头有关...官方的nginx docker镜像通过建立指向stdout/stderr的软链接来实现这一点

RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log

参考:https://microbadger.com/images/nginx

票数 71
EN

Stack Overflow用户

发布于 2015-04-30 02:22:18

代码语言:javascript
复制
Syntax: error_log file | stderr | syslog:server=address[,parameter=value] | memory:size [debug | info | notice | warn | error | crit | alert | emerg];
Default:    
error_log logs/error.log error;
Context:    main, http, stream, server, location

http://nginx.org/en/docs/ngx_core_module.html#error_log

不要使用:/dev/stderr如果你要使用systemd-nspawn,这会破坏你的设置。

票数 26
EN

Stack Overflow用户

发布于 2017-05-17 00:54:15

在Docker容器中运行Nginx时,请注意,挂载在日志目录上的卷会违背在日志文件和Docker文件中的stdout/stderr之间创建软链接的目的,如@Boeboe 's answer中所述。

在这种情况下,您可以在入口点中创建软链接(在安装卷之后执行),也可以根本不使用卷(例如,当日志已由中央日志系统收集时)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22541333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档