Node.js 在新的不同文件中使用log4js写入日志?
我想将日志写入不同的文件Node.js 在新的不同文件中使用log4js写入日志?,node.js,logging,log4js-node,Node.js,Logging,Log4js Node,我想将日志写入不同的文件 const log4js = require('log4js'); log4js.configure({ appenders: { integra: { type: 'file', filename: './logs/doc.log' } }, categories: { default: { appenders: ['doc'], level: 'error' } } }); const logger = log4js.getLogger('doc')
const log4js = require('log4js');
log4js.configure({
appenders: { integra: { type: 'file', filename: './logs/doc.log' } },
categories: { default: { appenders: ['doc'], level: 'error' } }
});
const logger = log4js.getLogger('doc');
module.exports = logger
根据上面的代码,我只能配置一次日志。但是我想为每个日志动态地编写一个日志文件。在上述情况下,我只能编写一个文件。我需要一种写新日志文件的方法。我想在不同的路径上写入多个日志文件。使用多文件追加器将日志动态写入多个文件,您的log4js配置如下所示:
appenders: { integra: { type: 'multiFile', base: 'logs/', property: 'prop', extension: '.log'} },
其中:
const log4js = require('log4js');
const uuidv1 = require('uuid/v1'); //used for generating random string
log4js.configure({
appenders: {
everything: {
type: 'multiFile', base: 'logs/', property: 'userID', extension: '.log'
}
},
categories: {
default: { appenders: [ 'everything' ], level: 'debug'}
}
});
const userLogger = log4js.getLogger('user');
userLogger.addContext('userID', uuidv1());
userLogger.info('New file created');
userLogger.addContext('userID', uuidv1());
userLogger.info('New file created');
您可以创建多个appender和categories,并在写入之前获取相应的记录器。下面将创建三个不同的文件
const log4js = require('log4js');
log4js.configure({
appenders: { integra: { type: 'file', filename: './logs/doc.log' } },
categories: { default: { appenders: ['doc'], level: 'error' } }
});
const logger = log4js.getLogger('doc');
module.exports = logger
const log4js=require('log4js');
log4js.configure({
附录:{
讨厌的:{type:'file',filename:'nasty.log'},
圆滑:{type:'file',filename:'sleek.log'},
跟踪器:{type:'file',filename:'tracer.log'},
},
类别:{
默认值:{
附加器:['sarty'],级别:“error”
},
光滑:{
附加器:['sleek'],级别:“info”
},
跟踪器:{
附加器:['tracer'],级别:“trace”
}
}
});
const nastyLogger=log4js.getLogger('snaty');
error(新错误('thisgetloggedinnastylylogger');
debug('这将不会记录在日志记录器中');
const sleekLogger=log4js.getLogger('sleek');
sleekLogger.info('这将被记录在sleekLogger');
debug('这不会记录在sleek logger中');
const tracerLogger=log4js.getLogger('tracer');
tracerLogger.info('这将记录在跟踪记录器中');
debug('这也将记录在跟踪记录器中');
我可以定义自己的文件夹吗?因为这可能会生成UUID为的文件夹。@Dhiraj Kumar您是否尝试过logger.addContext(“您的属性”,“您的文件名”)?