如何解决如何让 bunyan 记录一个像 console.log 这样的对象
我正在使用 bunyan 设置,如下所示:
const logger = {
[{ level: 'trace',stream: process.stderr }],name: 'api_name',hostname: process.env.API_HOST,serializers: bunyan.stdSerializers,src: true
}
我正在尝试记录一个对象,但结果很奇怪。
class Sample {
constructor(public readonly sampleId: number) {}
}
const sample = new Sample(1);
logger.info(sample);
输出:
{
"name": "api_name","hostname": "api.domain.local","pid": 99999,"level": 30,"sampleId": 1,"msg": "","time": "2021-03-14T18:14:05.718Z","src": {
"file": "/path/to/File.ts","line": 123,"func": "sampleFunctionName"
},"v": 0
}
如您所见,sampleId
正在获取它自己的属性,我发现这是一种奇怪的行为
因为记录类似 logger.info('Something')
的内容会将“Something”放在 msg
属性中。
不应该是这样的:
{
...
"msg": {
"sampleId": 1
}
...
}
这是预期的,如果是,我可以做些什么来获得第二个输出?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。