记录到 syslog

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

server=address
定义 syslog 服务器的地址。地址可以指定为域名或 IP 地址(可带可选端口),或者指定为在“unix:”前缀后的 UNIX 域套接字路径。如果未指定端口,则使用 UDP 端口 514。如果域名解析为多个 IP 地址,则使用第一个解析到的地址。
facility=string
设置 syslog 消息的 facility,其定义参见 RFC 3164。Facility 可以是以下值之一:“kern”、“user”、“mail”、“daemon”、“auth”、“intern”、“lpr”、“news”、“uucp”、“clock”、“authpriv”、“ftp”、“ntp”、“audit”、“alert”、“cron”、“local0”..“local7”。默认值为“local7”。
severity=string
设置 access_log 的 syslog 消息的 severity,其定义参见 RFC 3164。可能的值与 error_log 指令的第二个参数(级别)相同。默认值为“info”。
错误消息的 severity 由 nginx 确定,因此该参数在 error_log 指令中被忽略。
tag=string
设置 syslog 消息的 tag。默认值为“nginx”。
nohostname
禁用在 syslog 消息头部添加“hostname”字段 (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.1 起可用。作为我们商业订阅的一部分,syslog 日志记录自版本 1.5.3 起可用。