日志记录到 syslog

error_logaccess_log 指令支持将日志记录到 syslog。以下参数配置日志记录到 syslog

server=地址
定义 syslog 服务器的地址。地址可以指定为域名或 IP 地址,并带有一个可选端口,或者指定为“unix:”前缀后指定的 UNIX 域套接字路径。如果未指定端口,则使用 UDP 端口 514。如果域名解析为多个 IP 地址,则使用第一个解析到的地址。
facility=字符串
设置 syslog 消息的设施,如 RFC 3164 中所定义。设施可以是“kern”、“user”、“mail”、“daemon”、“auth”、“intern”、“lpr”、“news”、“uucp”、“clock”、“authpriv”、“ftp”、“ntp”、“audit”、“alert”、“cron”、“local0”..“local7”之一。默认值为“local7”。
severity=字符串
设置 access_log 的 syslog 消息的严重性级别,如 RFC 3164 中所定义。可能的值与 error_log 指令的第二个参数(级别)相同。默认值为“info”。
错误消息的严重性由 nginx 确定,因此在 error_log 指令中忽略此参数。
tag=字符串
设置 syslog 消息的标签。默认值为“nginx”。
nohostname
禁用将“主机名”字段添加到 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;

从 1.7.1 版本开始提供日志记录到 syslog 的功能。作为我们商业订阅的一部分,从 1.5.3 版本开始提供日志记录到 syslog 的功能。