如何在Ubuntu上将所有显示在控制台上的nodejs消息记录到系统日志?

问题描述:

我是nodejs和syslog功能的新手。 由nodejs生成的消息(如错误或信息)未记录在syslog中。 我想记录所有由nodejs生成并显示在终端上的消息到syslog。 为此,我需要在syslog.conf文件中进行哪些更改? 注意:我不想使用Winston,loggly或log4s如何在Ubuntu上将所有显示在控制台上的nodejs消息记录到系统日志?

我还希望从写入syslog的节点服务器发出控制台消息,而不必在我的代码中使用特定的库。最快的方法似乎是redirecting the output在终端上:

nodejs ~/myapp.js 2>&1 | logger & 

或者,如果该应用程序从一个更复杂的bash脚本启动,script can be redirected的,然后整个输出到加入这个顶部系统日志:

#!/bin/bash 
exec 1> >(logger -s -t $(basename $0)) 2>&1 
# ... 

不确定Syslog是什么,因为我不是Ubuntu用户。但是您可能需要使用Winston。它不仅会满足您的需求,而且也是异步的。

+0

温斯顿是一个不错的选择,但我不想使用它。我必须使用我必须改变我的代码,然后代码太大,所以我不能改变它。所以,还有其他建议吗? – ams