记录到 syslog

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

server=address
定义 syslog 服务器的地址。 地址可以指定为域名或 IP 地址, 带有可选端口,或作为 UNIX 域套接字路径 在 “” 前缀后指定。 如果未指定 port,则使用 UDP 端口 514。 如果一个域名解析到多个 IP 地址,则第一个解析的 IP 地址 address 的 URL 中。unix:
facility=string
设置 syslog 消息的功能,如 RFC 3164 中所定义。 设施可以是 “”、“”、” “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”..“”. 默认值为 “”。kernusermaildaemonauthinternlprnewsuucpclockauthprivftpntpauditalertcronlocal0local7local7
severity=string
设置 access_log syslog 消息的严重性, 如 RFC 3164 中所定义。 可能的值与 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;

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