Node.js Winston-记录堆栈错误

Node.js Winston-记录堆栈错误,node.js,express,logging,winston,Node.js,Express,Logging,Winston,我有logger.js文件,并从中导入logger 然后我做logger.info(Console.trace()) Trace已经工作了,但是我需要记录它-但是,这会导致一个错误,说“void类型的参数不可分配给”object“类型 我在这里做错了什么?Console.trace()将堆栈跟踪输出到stderr,因此您无法准确捕获它。通常获取堆栈跟踪的正确方法是使用新错误()对象获取堆栈跟踪 let err = new Error("Error Message") logger.log("er

我有logger.js文件,并从中导入logger

然后我做
logger.info(Console.trace())

Trace已经工作了,但是我需要记录它-但是,这会导致一个错误,说“void类型的参数不可分配给”object“类型

我在这里做错了什么?

Console.trace()
将堆栈跟踪输出到
stderr
,因此您无法准确捕获它。通常获取堆栈跟踪的正确方法是使用
新错误()
对象获取堆栈跟踪

let err = new Error("Error Message")
logger.log("error", "Exception Dump", err)

在上面的示例中,这里发生了一些事情。当我们调用
新错误()
时,它为我们捕获堆栈跟踪。然后在记录器调用中,我们使用
.log()
方法。这允许我们声明日志级别,提供消息,然后是由
util.inspect()处理的对象
在生成的日志条目中。

谢谢您的回答!但是,这不是输出堆栈跟踪。在控制台中,这就是我得到的:[error]:异常转储。在[error]和“Exception Dump”之间有一个很大的空间,但是控制台中没有输出堆栈跟踪。如何使用winston记录器设置?您可以尝试执行
console.dir(err)
以查看错误对象是否正确填充。我唯一能想到的是,如果您忘记了
error()上的
new