我正在构建一个nodeJS应用程序,并且一直在寻找诸如winston之类的多个记录器,却无法找到涵盖基于用户的日志的解决方案。理想的情况是每个用户都有单独的日志文件。
我有一个解决方案,但是它的性能相当糟糕,宁愿采用具有我所寻找的内置功能的记录器。
exports.getLogger = function(username){
return winston.createLogger({
level: 'info',
format: loggerFormat,
transports: [
new winston.transports.Console(),
new winston.transports.File({filename: path.join(logDir,'/' + username + '.log')})
]
});
};
这将在每次调用记录器时创建一个记录器,而不管是否已创建日志文件,每次调用记录器时创建记录器的开销都很高。