【发布时间】:2018-09-15 16:22:12
【问题描述】:
在我的节点应用程序中,我使用Winstonjs 记录器。今天我的应用程序似乎以某种方式冻结了,但它没有记录一些东西。我停止了应用程序并手动运行它,这向我显示了这个错误
ReferenceError: totalValue is not defined
我的代码显然有错误,但这里的主要问题是我无法从 Winston 日志中知道。
我在下面粘贴了我的 Winston 实现。我创建了这个,以便我可以简单地使用log('The log message');。但这不会记录任何发生的节点错误。
有人知道如何将每个发生的节点错误都记录到我的 Winston 日志中吗?
const myFormat = winston.format.printf(info => {
return `${info.timestamp} ${info.level}: ${info.message}`;
});
const logger = winston.createLogger({
level: 'info',
format: winston.format.combine(winston.format.timestamp(), myFormat), // winston.format.json(),
transports: [
new winston.transports.File({filename: 'logs/error.log', level: 'error'}),
new winston.transports.File({filename: 'logs/combined.log'}),
]
});
function log(message, level='info'){
if (typeof message === 'object'){
message = JSON.stringify(message);
}
logger[level](message);
}
【问题讨论】:
-
你可以从文档开始。尤其是处理异常的部分:github.com/winstonjs/winston#exceptions
-
@gforce301 - 感谢您指出这一点。我之前看过文档,但我有点迷失在其中,不知道要查找什么。我使用了这个例子,它就像一个魅力。如果您可以将您的评论添加为答案(也许将示例复制粘贴到此处以符合 SO 规则)我可以将您的答案标记为已接受?
标签: javascript node.js logging error-handling winston