记录到 syslog

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

server=address
定义 syslog 服务器的地址。 地址可以指定为域名或 IP 地址, 带有可选端口,或作为 UNIX 域套接字路径 在 ”unix:“ 前缀。 如果未指定 port,则使用 UDP 端口 514。 如果一个域名解析到多个 IP 地址,则第一个解析的 IP 地址 address 的 URL 中。
facility=string
设置 syslog 消息的功能,如 RFC 3164 中所定义。 设施可以是”kern”, “user”, “mail”, “daemon”, “auth”, “intern”, “lpr”, “news”, “uucp”, “clock”, “authpriv”, “ftp”, “ntp”, “audit”, “alert”, “cron”, “local0”..“local7”. 默认值为 ”local7”.
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 日志记录功能。