Nodejs中Log4js使用
最近做区块链的智能合约,用到了以太坊的web3js的API,其中Nodejs需要记录日志,涉及了Log4js,现把学习记录如下:经测试可以正常显示,交流学习微信yyy99966
安装log4js模块
1、创建 package.json
2、>$ npm install --save log4js
创建package.json方法
1、>$ npm init
log4js级别:大小写不敏感
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < MARK < OFF
- 1
- 2
log4js属性
1、appenders (object):至少有一个type **设置日志,包括输出路径,是否在控制台显示
2、categories(object):管理 appenders[1~n]
包含两个属性
level(String)
appenders(Array)
基础使用
var log4js=require('log4js');
var logger = log4js.getLogger();
logger.level = 'debug';
logger.debug("Some debug messages");
log输出到文件中
var log4js=require('log4js');
log4js.configure({
appenders: {
out: { type: 'stdout' },//设置是否在控制台打印日志
info: { type: 'file', filename: './logs/info.log' }
},
categories: {
default: { appenders: [ 'out', 'info' ], level: 'info' }//去掉'out'。控制台不打印日志
}
});
var logger = log4js.getLogger('info');
log输出到文件中:多个文件,同一level
var log4js=require('log4js');
log4js.configure({
appenders: {
out: { type: 'stdout' },//设置是否在控制台打印日志
info: { type: 'file', filename: './logs/info.log' },
info_2: { type: 'file', filename: './logs/info_2.log' }
},
categories: {
default: { appenders: [ 'out', 'info', 'info_2' ], level: 'info' }//去掉'out'。控制台不打印日志
}
});
var logger = log4js.getLogger('info');
logger.info("~~~info~~~~");
var logger_2 = log4js.getLogger('info_2');
logger_2.info("~~~info~~~~");
log输出到文件中:多个文件,不同level
var log4js=require('log4js');
log4js.configure({
appenders: {
out: { type: 'stdout' },//设置是否在控制台打印日志
info: { type: 'file', filename: './logs/info.log' },
just-errors: { type: 'file', filename: './logs/error.log' },
'error': { type: 'logLevelFilter', appender: 'just-errors', level: 'error' }
},
categories: {
default: { appenders: [ 'out', 'info','error' ], level: 'info' }//去掉'out'。控制台不打印日志
}
});
var LogFile = log4js.getLogger();
LogFile.info('You can find logs-files in the log-dir');
var LogFile_info = log4js.getLogger('info');
LogFile_info.info('~~~~~~~info log~~~~~~~~~');
var LogFile_just-errors = log4js.getLogger('error');
LogFile_just.error('~~~~~~~error log~~~~~~~~~');
console.log("log_start end!");
崇尚代码即法律,做一个智能合约开发者,重点在于合约的交易逻辑设计,交流请访问微信yyy99966