nodejs Log4js v2.x配置使用


安裝:

npm install log4js

npm install log4js –save   // 安裝到工程目錄

配置與使用:

// 基本使用

var log4js = require('log4js');

var logger = log4js.getLogger();

logger.level = 'debug';

logger.debug("Some debug messages");

// 配置規則

/**

 * 第一種:

 * configure方法為配置log4js對象,內部有levels、appenders、categories三個屬性

 * levels:

 *         配置日志的輸出級別,共ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<MARK<OFF八個級別,default level is OFF

 *         只有大於等於日志配置級別的信息才能輸出出來,可以通過category來有效的控制日志輸出級別

 * appenders:

 *         配置文件的輸出源,一般日志輸出type共有console、file、dateFile三種

 *         console:普通的控制台輸出

 *         file:輸出到文件內,以文件名-文件大小-備份文件個數的形式rolling生成文件

 *         dateFile:輸出到文件內,以pattern屬性的時間格式,以時間的生成文件

 * replaceConsole:

 *         是否替換控制台輸出,當代碼出現console.log,表示以日志type=console的形式輸出

 *

 */

log4js.configure('./config/log4js.json');

log4js.json

{

  "appenders": {

    "access": {

      "type": "dateFile",

      "filename": "log/access.log",

      "pattern": "-yyyy-MM-dd"

    },

    "rule-console": {

      "type": "console"

    },

    "rule-file": {

      "type": "dateFile",

      "filename": "log/server-",

      "encoding": "utf-8",

      "maxLogSize": 10000000,

      "numBackups": 3,

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

      "alwaysIncludePattern": true

    },

    "rule-error": {

      "type": "dateFile",

      "filename": "log/error-",

      "encoding": "utf-8",

      "maxLogSize": 1000000,

      "numBackups": 3,

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

      "alwaysIncludePattern": true

    }

  },

  "categories": {

    "default": {

      "appenders": [

        "rule-console",

        "rule-file",

        "rule-error"

      ],

      "level": "debug"

    },

    "http": {

      "appenders": [

        "access"

      ],

      "level": "info"

    }

  }

}

// 第二種配置方式

log4js.configure({

    appenders: {

        ruleConsole: {type: 'console'},

        ruleFile: {

            type: 'dateFile',

            filename: 'logs/server-',

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

            maxLogSize: 10 * 1000 * 1000,

            numBackups: 3,

            alwaysIncludePattern: true

        }

    },

    categories: {

        default: {appenders: ['ruleConsole', 'ruleFile'], level: 'info'}

    }

});

 

工程配置問題:

Q1. must have a property “appenders” of type object

解決辦法:v1.x與v2.x配置規則發生變化,appenders在v2.x是一個對象。link

 

參考:

     nomiddlename/log4js-node 源碼

     npm-log4js

     log4js-node-config

     nodejs總結之日志模塊log4js v1.x

     NodeJs之log4js v1.x

     Nodejs中使用Log4js v1.x

     Problem with log4js configuration


免責聲明!

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



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