【发布时间】:2019-03-02 16:42:56
【问题描述】:
我在我的 nodejs 项目中使用 winston.js,我正在寻找的是,将两个不同的自定义消息输出到不同类型的传输(控制台、文件)中。 控制台模式:
return `${timestamp} [${label}] ${level}: ${message}
文件模式(在文件中我只想显示消息和级别):
return ` ${level} : ${message}
这是我的代码:
const { createLogger, format, transports } = require('winston');
const { combine, timestamp, label, printf } = format;
const myFormat = printf(({ level, message, label, timestamp }) => {
return `${timestamp} [${label}] ${level}: ${message}`;
}
});
const logger = createLogger({
format: combine(
label({ label: 'hello |' }),
timestamp(),
myFormat
),
transports: [new transports.Console(),
new transports.File({
filename: api.log,
level: 'info'
})
]
});
logger.stream = {
write: function(message, encoding) {
logger.info(message);
},
};
module.exports = logger;
使用此代码我有相同的输出,请帮忙?
【问题讨论】:
-
到目前为止你尝试了什么?
-
我尝试了上面的代码,但在控制台和输出文件中得到了相同的消息
-
好吧,这很明显,但是您是否尝试过了解 winstone.js 记录器的工作原理?或者您只需要有人提供直接代码以便您可以复制粘贴?!
-
问题是,要显示两个不同的日志,一个到控制台,另一个在文件中,我检查了文档我没有发现任何感兴趣的东西
标签: javascript node.js winston