我正试图设置Winston,以避免创建多个记录器,我的想法是在名为app.js的文件中配置winston,然后在应用程序周围调用winston设置用于记录的标签。
这是记录器文件:
import winston, { format, transports } from 'winston';
const { combine, timestamp, printf } = format;
winston.configure({
level: 'debug',
format: combine(
format.colorize(),
timestamp(),
printf(({ level, message, label, timestamp }) => {
return `${timestamp} [${label}] ${level}: ${message}`;
})
),
transports: [
new transports.File({
filename: 'error.log',
level: 'error'
}),
new transports.Console()
]
});
然后只需调用:
import winston from 'winston';
和
logger.info(`my-log ${foo}`);
这种情况下的问题是我无法为记录器设置名称,唯一的方法是执行类似的操作
logger.info(`my-log ${foo}`, { label: 'my-label' });
但是我不会添加
{标签:'my-label'}
对每个logger.info()....您有更好的主意吗?