如何用Winston 3记录完整的堆栈跟踪?
问题描述:
我的记录器设置如下:如何用Winston 3记录完整的堆栈跟踪?
const myFormat = printf(info => {
return `${info.timestamp}: ${info.level}: ${info.message}: ${info.err}`;
});
const logger =
winston.createLogger({
level: "info",
format: combine(timestamp(), myFormat),
transports: [
new winston.transports.File({
filename:
"./logger/error.log",
level: "error"
}),
new winston.transports.File({
filename:
"./logger/info.log",
level: "info"
})
]
})
然后我登录了一些错误是这样的:
logger.error(`GET on /history`, { err });
怎么可能为错误的完整的堆栈跟踪日志通过错误运输?我尝试通过err.stack,它以未定义的方式出现。
谢谢!
答
logger.error(
GET on /history
,{err});
err
变量是一个错误对象吗?
如果没有,您可以使用new Error().stack
获得跟踪,并传递给winston。