我不知道我是否因为我使用Log4J的经历而感到伤痕累累,但我真的不想进入Winston / Bunyan来处理NodeJS中的日志记录。
所以这就是我想出来的。我有一个crontab作业,可以在重启时启动我的NodeJS应用程序。它运行一个bash脚本,如下所示:
#!/bin/bash
node /opt/dist/server/app.js 2>> /var/log/myapp/err.log | tee -a /var/log/myapp/out.log
所以我的crontab看起来像这样:
*/1 * * * * root /root/bin/startup.sh
我在the NodeJS documentation on console methods中找到了这个,它解释了stdout是非阻塞和stderr阻塞。它还说这在生产中应该没问题。
到目前为止这么好。我要让这个运行几天,看看会发生什么。这是一个糟糕的主意吗?我最担心的是我不知道管道是非阻塞的,但文件重定向是阻塞的。还有什么我可能不知道,这个设置可能会出错?