我正在使用 syslog-ng,目前我的配置仅根据 IP 地址和设备分离日志文件:
source s_network_udp {
syslog(transport(udp) port(514));
};
destination d_local {
file("/var/log/${HOST}/${FACILITY}.log" create_dirs(yes));
};
log {
source(s_network_udp);
destination(d_local);
};
这给了我这个:
./0.0.0.1/daemon.log
./0.0.0.1/user.log
./0.0.0.1/kern.log
./0.0.0.2/daemon.log
./0.0.0.2/user.log
./0.0.0.2/kern.log
./0.0.0.3/daemon.log
./0.0.0.3/user.log
./0.0.0.3/kern.log
./0.0.0.4/daemon.log
./0.0.0.4/user.log
./0.0.0.4/kern.log
这些daemon.log
文件有如下行:
Sep 2 23:19:33 hostname systemd-resolved[1290]: etc
Sep 2 23:20:01 hostname CRON[2342925]: etc
Sep 2 23:20:01 hostname CRON[2342924]: etc2
有没有办法让 syslog-ng 为每个process[1]:
(而不是仅为守护进程、用户、内核)创建一个文件?