问题描述
我正在使用 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 (将#修改为@)