查看 Banyan API 文档。涵盖了您的所有用例。
- 覆盖主机名或设置所需的主机名
构建记录器时可配置
- 将“level”:30更改为“level”:“info”
- 更改时间json对象的格式
- 添加额外的 json 对象,例如:“attr4”:“value”
- 有没有办法更改默认的json对象名称,例如时间到时间戳
您可以覆盖 json 对象:请参阅:https://github.com/trentm/node-bunyan/issues/194 https://github.com/trentm/node-bunyan/issues/194
var bunyan = require('bunyan');
function modifiedStream(filePath) {
return {
write: log => {
log.level = bunyan.nameFromLevel[log.level];
log.time = new Date().valueOf();
log._timeStamp = new Date().toISOString();
log.myProp = "Some Value" + new Date();
var logLine = JSON.stringify(log, bunyan.safeCycles(), 2);
console.log(logLine);
}
};
}
var logger = bunyan.createLogger({
name: 'myapp',
hostname: "My Test Mac",
streams: [{
type: 'raw',
stream: modifiedStream()
}]
});
logger.info("Hello");
logger.info({
customProp1: "AAA",
customProp2: "BBB"
});
Output:
{
"name": "myapp",
"hostname": "My Test Mac",
"pid": 89297,
"level": "info",
"msg": "Hello",
"time": 1525813632657,
"v": 0,
"_timeStamp": "2018-05-08T21:07:12.657Z",
"myProp": "Some ValueWed May 09 2018 02:37:12 GMT+0530 (IST)"
}
{
"name": "myapp",
"hostname": "My Test Mac",
"pid": 89297,
"level": "info",
"customProp1": "AAA",
"customProp2": "BBB",
"msg": "",
"time": 1525813632659,
"v": 0,
"_timeStamp": "2018-05-08T21:07:12.659Z",
"myProp": "Some ValueWed May 09 2018 02:37:12 GMT+0530 (IST)"
}