gpt4 book ai didi

javascript - winston js : Is it possible to have custom formatters for different transports?

转载 作者:太空宇宙 更新时间:2023-11-03 22:23:34 24 4
gpt4 key购买 nike

我希望在 Winston 中为控制台和文件传输提供不同的格式,因为我想使用 chalk 模块自行对控制台日志进行着色。
我使用以下代码创建了记录器:

this.logger = createLogger({
levels: {
fatal: 0,
error: 1,
warning: 2,
info: 3,
debug: 4,
trace: 5,
},
format: format.simple(),
transports: [
new transports.Console({
json: false,
level: 'trace',
formatter: (options) => {
console.log(options);
return "formatter";
},
}),
new transports.File({
filename: 'combined.log',
json: false,
level: 'trace',
formatter: function(options) {
console.log(options);
return "formatter";
}
}),
]
});

但是 formatter 函数永远不会被调用,我只是在控制台和文件中看到默认的 JSON 输出。
是否可以为不同的传输方式分离格式化程序?
我正在使用 Winston 3.0.0-rc5

最佳答案

这对我有用。我的示例的核心基于他们的 api 页面:https://www.npmjs.com/package/winston

const winston = require('winston');

var config = winston.config;
var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({
formatter: function(options) {
console.log(options);
return "console!";
}
}),
new (winston.transports.File)({
json: false, //THIS is important for type "File"
filename: 'test.log',
formatter: function(options) {
console.log(options);
return "log file!";
}
})
]
});
logger.info('nono');

关于javascript - winston js : Is it possible to have custom formatters for different transports?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50299570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com