gpt4 book ai didi

node.js - 为什么永远的错误消息没有被记录

转载 作者:太空宇宙 更新时间:2023-11-03 22:33:43 24 4
gpt4 key购买 nike

我目前永远在 bash 脚本中运行:

forever -v  -l log/system.log -e log/systemerr.log -w --watchIgnore '{log,data,node_modules}' app.js

我还使用 log4js 来捕获我的应用程序的日志记录(使用以下配置):

log4js.configure({
appenders: [
//{ type: 'console' },
{
type: "file",
absolute: true,
filename: "./log/app.log",
maxLogSize: 1000000,
backups: 10
}
]});

一切似乎都在工作,因为我的应用程序的输出正在输出到 app.log,而forever 的 -l 输出将输出到 system.log:

warn:    --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms

但是以下内容会转到控制台,我本以为它会转到 systemerr.log:

error: Could not read .foreverignore file.
error: ENOENT, open '/home/blah/blah/.foreverignore'
error: Forever detected script exited with code: 1
error: Script restart attempt #1

如何将这个我认为是由forever生成的错误信息获取到systemerr.log中?

最佳答案

永远 -e ERRFILE 选项需要:

Logs stderr from child script to ERRFILE

永远本身产生的错误不会记录在这里,这很好,因为您在这里只会收到应用程序产生的错误。

如果您确实想在文件中出现永远错误,请使用 IO redirection对于包装 bash 脚本中的 STDERR ,如下所示:

forever ... 2>> forever-errors.log

如果出于某种原因您仍然希望将这些错误与应用程序错误日志放在同一文件中,您可以将 STDERR 重定向并附加到与错误日志相同的文件。

关于node.js - 为什么永远的错误消息没有被记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33133066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com