记录日志到 syslog
error_log 和 access_log 指令支持把日志记录到 syslog。以下配置参数将使 nginx 日志记录到 syslog:
server=address定义 syslog 服务器的地址,可以将该地址指定为附带可选端口的域名或者 IP,或者指定为 “unix:” 前缀之后跟着一个特定的 UNIX 域套接字路径。如果没有指定端口,则使用 UDP 的 514 端口。如果域名解析为多个 IP 地址,则使用第一个地址。
facility=string设置 syslog 的消息 facility(设备),RFC3164 中定义,facility可以是
kern,user,daemon,auth,intern,lpr,news,uucp,clock,authpriv,ftp,ntp,audit,alert,cron,local0,local7中的一个,默认是local7。
severity=string设置 access_log 的消息严重程度,在 RFC3164 中定义。可能值与 error_log 指令的第二个参数(
level,级别)相同,默认是info。错误消息的严重程度由 nginx 确定,因此在error_log指令中将忽略该参数。
tag=string设置 syslog 消息标签。默认是
nginx。
nohostname禁止将
hostname域添加到 syslog 的消息(1.9.7)头中。
syslog配置示例:
error_log syslog:server=192.168.1.1 debug;
access_log syslog:server=unix:/var/log/nginx.sock,nohostname;
access_log syslog:server=[2001:db8::1]:12345,facility=local7,tag=nginx,severity=info combined;记录日志到 syslog 的功能自从 1.7.2 版本开始可用。作为我们 商业订阅 的一部分,记录日志到 syslog 的功能从 1.5.3 开始可用。
原文档
Last updated
Was this helpful?