日志记录到 syslog
error_log 和 access_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 的功能。