日志模塊log4js的配置說明


1:先安裝log4js模塊  

  npm install log4js 

      目前安裝的版本信息:"log4js": "^3.0.5"

2:引用及配置

var log4js = require('log4js');
// log4js的輸出級別6個: trace, debug, info, warn, error, fatal

log4js.configure({
    //輸出位置的基本信息設置
    appenders: {
        //設置控制台輸出 (默認日志級別是關閉的(即不會輸出日志))
        out: { type: 'console' },
        //設置每天:以日期為單位,數據文件類型,dataFiel   注意設置pattern,alwaysIncludePattern屬性
        //allLog: { type: 'dateFile', filename: './log/all', pattern: '-yyyy-MM-dd.log', alwaysIncludePattern: true },

        //所有日志記錄,文件類型file   文件最大值maxLogSize 單位byte (B->KB->M) backups:備份的文件個數最大值,最新數據覆蓋舊數據
        allLog: { type: 'file', filename: './log/all.log', keepFileExt: true, maxLogSize: 10485760, backups: 3 },

        //http請求日志  http請求日志需要app.use引用一下, 這樣才會自動記錄每次的請求信息 
        httpLog: { type: "dateFile", filename: "log/httpAccess.log", pattern: ".yyyy-MM-dd", keepFileExt: true },

        //錯誤日志 type:過濾類型logLevelFilter,將過濾error日志寫進指定文件
        errorLog: { type: 'file', filename: './log/error.log' },
        error: { type: "logLevelFilter", level: "error", appender: 'errorLog' }
    },
    //不同等級的日志追加到不同的輸出位置:appenders: ['out', 'allLog']  categories 作為getLogger方法的鍵名對應
    categories: {
        //appenders:采用的appender,取上面appenders項,level:設置級別
        http: { appenders: ['out', 'httpLog'], level: "debug" },
        default: { appenders: ['out', 'allLog', 'error'], level: 'debug' }, //error寫入時是經過篩選后留下的
    }

});

//getLogger參數取categories項,為空或者其他值取default默認項
// exports.getLogger = function (name) {
//     return log4js.getLogger(name || 'default')
// }
const logger = log4js.getLogger("liveMeeting");

const httpLog = log4js.getLogger('http');
const httpLogger = log4js.connectLogger(httpLog, { level: 'WARN' });

exports = module.exports = { logger, httpLogger };

http請求日志 http請求日志需要app.use引用一下, 這樣才會自動記錄每次的請求信息 :
global.logger = require('./config/log4js').logger;
httpLogger = require('./config/log4js').httpLogger;

//這樣會自動記錄每次請求信息,放在其他use上面
app.use(httpLogger);

logger用來記錄所有手動輸入的日志,如:

logger.info('test info');
logger.error('test error info ');
 
httpLogger用來記錄每次請求日志;
 
參數參考文章: 文章1
                          文章2

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM