我可以将日志文件重定向到 syslog 吗?

San*_*hal 7 bash logs io-redirection syslog

我有一个 Node.js 服务器,它被永久监控。Forever 生成三个日志文件:服务器 STDOUT、STDERR 和 Forever 本身的日志。

$ forever -l forever.log -o out.log -e err.log app.js
Run Code Online (Sandbox Code Playgroud)

但不是记录到日志文件,我想将所有内容都记录到 syslog,可以选择添加某种前缀,以便我的 syslog 处理服务器可以将所有内容整理出来。

在 StackOverflow 上,有人建议这可以使用一些 bash 包装器来处理,并建议我在这里问。那么,我如何将这些日志放入 syslog 而不是文件中?

bsd*_*bsd 13

您是否尝试过将记录器与进程替换一起使用?

$ forever -a >(logger -t forever) -o >(logger -t app.js) -e >(logger -t app.js) app.js
Run Code Online (Sandbox Code Playgroud)

您可以使用logger -p开关来指定日志级别、警告、信息、错误等,以及其他记录器开关。在forever -l需要更换时到forever -a

我用永久安装的一些示例文件尝试了这个,并且它起作用了。默认情况下,每个发行版可能会记录到不同的日志文件,您必须尝试使用​​记录器开关。