log4js linux,日志管理 log4js
版本:
express:"~4.13.4"
log4js:"^0.6.38"
安裝
npm install log4js
封裝 log4js:
在項(xiàng)目根目錄下新建文件 logger.js:
var log4js = require('log4js');
log4js.configure({
appenders: [{
type: 'console' // 控制臺輸出
}, {
type: 'dateFile', // 文件輸出
filename: 'logs/', // 需要手動創(chuàng)建此文件夾
pattern: "yyyy-MM-dd.log",
alwaysIncludePattern: true,
maxLogSize: 1024,
backups: 4, // 日志備份數(shù)量,大于該數(shù)則自動刪除
category: 'logInfo' // 記錄器名
}],
replaceConsole: true // 替換 console.log
});
levels = {
'trace': log4js.levels.TRACE,
'debug': log4js.levels.DEBUG,
'info': log4js.levels.INFO,
'warn': log4js.levels.WARN,
'error': log4js.levels.ERROR,
'fatal': log4js.levels.FATAL
};
exports.logger = function (name, level) {
var logger = log4js.getLogger(name);
logger.setLevel(levels[level] || levels['debug']);
return logger;
};
// 配合 express 使用的方法
exports.use = function (app, level) {
app.use(log4js.connectLogger(log4js.getLogger('logInfo'), {
level: levels[level] || levels['debug'],
format: ':method :url :status'
}));
};
在上面的代碼中 appenders 中配置了兩個輸出,一個是控制臺輸出,一個是文件輸出。
說明:
log4js 的輸出級別: trace,debug,info,warn,error,fatal
如果輸出級別是 info,則不會打印出低于 info 級別的日志 trace,debug,只打印info,warn,error,fatal。這樣做的好處在于,在生產(chǎn)環(huán)境中我們可能只關(guān)心異常和錯誤,并不關(guān)心調(diào)試信息。從而大大減少日志的輸出,從而減少磁盤寫入。而在開發(fā)環(huán)境中,我們可能需要打印非常多的信息,幫助開發(fā)人員定位錯誤,調(diào)試代碼。
與 express 框架集成
在 app.js 中加入以下代碼:
var log4js = require('./logger');
log4js.use(app);
在 index.js 中使用 logger 輸出
var logger = require('../logger').logger('index');
/* GET home page. */
router.get('/', function (req, res, next) {
console.log('This is an index page!');
logger.info('This is an index page! -- log4js');
res.render('index', {title: 'Express'});
});
總結(jié)
以上是生活随笔為你收集整理的log4js linux,日志管理 log4js的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ms access to mysql_A
- 下一篇: JVM垃圾收集器与内存分配策略学习总结