我有一条路线(故意)使我的节点应用程序崩溃。当我访问那条路线时,我得到了正确的崩溃日志:
/Users/me/Documents/myapp/routes/index.js:795
global.fakeMethod();
^
TypeError: global.fakeMethod is not a function
at null._onTimeout (/Users/me/Documents/myapp/routes/index.js:795:11)
at Timer.listOnTimeout (timers.js:92:15)
但是,当我在 systemd 下运行相同的代码时,错误被截断。它
May 17 10:03:56 a.myapp.com www[28766]: /var/www/myapp/routes/index.js:795
May 17 10:03:56 a.myapp.com systemd[1]: myapp.service: main process exited, code=exited, status=1/FAILURE
May 17 10:03:56 a.myapp.com systemd[1]: Unit myapp.service entered failed state.
May 17 10:03:56 a.myapp.com systemd[1]: myapp.service failed.
May 17 10:03:56 a.myapp.com systemd[1]: myapp.service holdoff time over, scheduling restart.
如何使 systemd / journald 记录完整错误?
更新:使用 systemd-cat 进行测试,我制作了一个多行文件并记录它的工作原理:
cat file.txt | systemd-cat
结果是:
Mar 02 09:51:25 a.certsimple.com unknown[31600]: line one
Mar 02 09:51:25 a.certsimple.com unknown[31600]: line two
Mar 02 09:51:25 a.certsimple.com unknown[31600]: line three