Nodejs日誌管理工具包:log4js 和 winstonjson
一、log4js的使用app
1)package.json中加入依賴工具
"log4js":"~0.6.21"
2)寫一個log4js的配置文件log4js_conf.jsonui
{ "appenders": [ { "type": "console" }, { "type": "file", "filename": "logs/access.log", "maxLogSize": 1024, "backups": 3, "category": "normal" } ] }
3)寫一個工具類log4js-utils.jsspa
var log4js = require('log4js'); /** log4js.configure({ appenders: [ { type: 'console' }, { type: 'file', filename: 'logs/access.log', category: 'normal' } ] }); */ log4js.configure('E:/Node/file-server/config/log4js_conf.json'); exports.logger = function(){ var logger = log4js.getLogger('normal');//獲取配置文件中category爲normal的appender logger.setLevel('DEBUG'); return logger; }
4)在其餘須要使用日誌的地方引入工具類debug
var logger = require('../utils/log4js-utils').logger(); exports.index = function(req,res) { logger.debug('debug'); logger.info('info'); logger.warn('warn'); logger.error('error'); res.send('ok'); }
二、winston日誌
winston的使用也很簡單,很少說。code
var winston = require('winston'); exports.logger = new (winston.Logger)({ transports: [ new (winston.transports.Console)(), new (winston.transports.File)({ filename: 'logs/all.log' }) ], exceptionHandlers: [ new winston.transports.File({ filename: 'logs/exceptions.log' }) ], exitOnError:false });
var logger = require('../utils/winston-utils').logger; exports.index = function(req,res) { logger.log('error', "log"); logger.info("info"); logger.warn("warn"); logger.error("error"); res.send('ok'); }