log4js的基本用法
log4js是javascript的log框架
基本用法:
$ cat log.js
'use strict';
var log4js = require('log4js');
var logger = log4js.getLogger();
logger.debug('this is debug');
logger.info('this is info');
logger.warn('this is warn');
运行
$ node log.js
$
发现没有,什么输出也没有?为什么呢?
因为log4js的缺省级别是off,也就是所有的都不会输出。
指定log的输出级别
'use strict';
var log4js = require('log4js');
var logger = log4js.getLogger();
logger.level = 'info'
logger.debug('this is debug');
logger.info('this is info');
logger.warn('this is warn');
再运行:
$ node log.js
[2019-05-24T07:04:36.167] [INFO] default - this is info
[2019-05-24T07:04:36.169] [WARN] default - this is warn
$
这样info以及以上级别的log都能够正常输出了。
设置全局级别
前面例子设置了单个logger的输出级别,现在设置所有logger的缺省级别。
- 创建log配置文件
$ cat logconf.json
{
"appenders": {
"consoleout": { "type": "console" }
},
"categories": {
"default": { "appenders": [ "consoleout" ], "level": "debug" }
}
}
- 全局加载配置
'use strict';
var config = require('./logconf.json');
var log4js = require('log4js');
log4js.configure(config);
var logger = log4js.getLogger();
logger.debug('this is debug');
logger.info('this is info');
logger.warn('this is warn');
运行:
$ node log.js
[2019-05-24T07:10:10.557] [DEBUG] default - this is debug
[2019-05-24T07:10:10.560] [INFO] default - this is info
[2019-05-24T07:10:10.560] [WARN] default - this is warn
$
因为在配置文件里把level设置成了debug,这样三个log行都打出来了。