将Nginx日志同时发送到syslog和stdout/stderr

6
默认情况下,我的 nginx 服务器将日志记录到 stdoutstderr。我希望将日志转发到我的 syslog 服务器,并且我已经成功地在 nginx.conf 中实现了这一点。
server {
  ...
  error_log syslog:server=localhost:5447,facility=local7,tag=nginx_client,severity=error;
  access_log syslog:server=localhost:5447,facility=local7,tag=nginx_client,severity=info;
  ...
}

我该如何配置服务器,使其能够将日志同时输出到 stdoutstderr
1个回答

6

在您的块内只需具有多个error_log和access_log条目即可。

error_log syslog:server=localhost:5447,facility=local7,tag=nginx_client,severity=error;

access_log syslog:server=localhost:5447,facility=local7,tag=nginx_client,severity=info;

error_log stderr;
access_log /dev/stdout;

应该可以解决问题。

看起来顺序很重要。当我把syslog放在stdout之下时,日志不会被存储在本地。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接