天天看點

nodejs日志管理 log4js

一、首先是在項目中安裝 log4js

    npm install log4js --save

二、權值從小到大

    log4js日志級别

    all < trace < debug < info < warn < error < fatal < mark < off

二、基本使用:

nodejs日志管理 log4js

在項目下建立logs檔案夾,将log4js做為工具插件使用

import log4js from 'log4js';

log4js.configure({

    replaceConsole: true,

    appenders: {

        out: { type: 'console' },                          //控制台輸出

        debug: {//debug日志

            type: 'dateFile',

            filename: 'logs/debug_logs/deb',       // 首先手動建好目錄,寫入日志檔案的路徑

            //maxLogSize: 1024,                        // 隻在 type: 'file' 中才支援

            // 指定pattern後無限備份,pattern精确到ss(秒)就是一秒一個檔案,精确到mm(分)就是一分一個檔案,hh(小時),dd(天),MM(月),yyyy(年)

            pattern: 'yyyy-MM-dd.log',                    

            encoding: 'utf-8',                               //檔案的編碼

            alwaysIncludePattern: true,               // 不指定pattern時若為true會使用 預設值'.yyyy-MM-dd'

            daysToKeep:10,//時間檔案 儲存多少天,以前的log将被删除

            //compress : true,//(預設為false) - 在滾動期間壓縮備份檔案(備份檔案将具有.gz擴充名)

        },

        err: {  //err日志

            type: 'dateFile',

            filename: 'logs/error_logs/err',

            pattern: 'yyyy-MM-dd.log',

            alwaysIncludePattern: true

        },

        info: {  //info日志

            type: 'dateFile',

            filename: 'logs/info_logs/info',

            pattern: 'yyyy-MM-dd.log',

            alwaysIncludePattern: true

        },

        fatal: {  //fatal日志

            type: 'dateFile',

            filename: 'logs/fatal_logs/ftl',

            pattern: 'yyyy-MM-dd.log',

            alwaysIncludePattern: true

        }

    },

    categories: {

        //appenders:采用的appender,取appenders項,level:設定級别

        default: { appenders: ['out', 'debug'], level: 'debug' },

        err: { appenders: ['out', 'err'], level: 'error' },

        info: { appenders: ['out', 'info'], level: 'info' },

        fatal: { appenders: ['out', 'fatal'], level: 'fatal' },

    }

})

//debug日志

let debugLog = log4js.getLogger('debug');

// debugLog.info('~~111~~debug log~~111~~');

//info日志

let infoLog = log4js.getLogger('info');

// infoLog.info('~~222~~info log~~222~~');

//err日志

let errorLog = log4js.getLogger('err');

// errorLog.error('~~333~~err log~~333~~');

//fatal日志

let fatalLog = log4js.getLogger('fatal');

// fatalLog.fatal('~~444~~fatal log~~444~~');

export {debugLog,infoLog,errorLog,fatalLog}

繼續閱讀