日志管理 log4js

版本:

  • express:"~4.13.4"
  • log4js:"^0.6.38"

安裝

npm install log4js

封裝 log4js:

在項目根目錄下新建文件 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。這樣做的好處在于锰瘸,在生產環(huán)境中我們可能只關心異常和錯誤刽严,并不關心調試信息。從而大大減少日志的輸出避凝,從而減少磁盤寫入舞萄。而在開發(fā)環(huán)境中,我們可能需要打印非常多的信息管削,幫助開發(fā)人員定位錯誤倒脓,調試代碼。

與 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'});
});
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末含思,一起剝皮案震驚了整個濱河市碘梢,隨后出現(xiàn)的幾起案子苗胀,更是在濱河造成了極大的恐慌撮弧,老刑警劉巖飒箭,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異遏弱,居然都是意外死亡盆均,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門漱逸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泪姨,“玉大人,你說我怎么就攤上這事饰抒“估” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵袋坑,是天一觀的道長仗处。 經常有香客問我,道長咒彤,這世上最難降的妖魔是什么疆柔? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮镶柱,結果婚禮上,老公的妹妹穿的比我還像新娘模叙。我一直安慰自己歇拆,他們只是感情好,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著故觅,像睡著了一般厂庇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上输吏,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天权旷,我揣著相機與錄音,去河邊找鬼贯溅。 笑死拄氯,一個胖子當著我的面吹牛,可吹牛的內容都是我干的它浅。 我是一名探鬼主播译柏,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼姐霍!你這毒婦竟也來了鄙麦?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤镊折,失蹤者是張志新(化名)和其女友劉穎胯府,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恨胚,經...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡骂因,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了与纽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侣签。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖急迂,靈堂內的尸體忽然破棺而出影所,到底是詐尸還是另有隱情,我是刑警寧澤僚碎,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布猴娩,位于F島的核電站,受9級特大地震影響勺阐,放射性物質發(fā)生泄漏卷中。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一渊抽、第九天 我趴在偏房一處隱蔽的房頂上張望蟆豫。 院中可真熱鬧,春花似錦懒闷、人聲如沸十减。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帮辟。三九已至速址,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間由驹,已是汗流浹背芍锚。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蔓榄,地道東北人并炮。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像润樱,于是被迫代替她去往敵國和親渣触。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內容

  • 在應用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況壹若,周期性的記錄到文件中供其他應用進行統(tǒng)計分析...
    時待吾閱讀 5,052評論 1 13
  • 在應用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況嗅钻,周期性的記錄到文件中供其他應用進行統(tǒng)計分析...
    時待吾閱讀 4,988評論 0 6
  • Spring Boot-日志配置(超詳細) 更新日志:20170810 更新通過 application.yml傳...
    inke閱讀 67,378評論 9 122
  • 前言 今天來介紹下Spring Boot如何配置日志logback,我剛學習的時候,是帶著下面幾個問題來查資料的店展,...
    嘟爺MD閱讀 3,111評論 1 26
  • 比特科技: 存儲养篓、數(shù)據(jù)庫、大數(shù)據(jù)技術 ? 最佳日志實踐 http://www.bitstech.net/2014...
    葡萄喃喃囈語閱讀 1,614評論 0 13