nodejs Log4js v2.x配置使用

Posted zhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于nodejs Log4js v2.x配置使用的主要内容,如果未能解决你的问题,请参考以下文章

nodejs使用log4js做日志系统

Nodejs-log4js使用配置

玩转Nodejs日志管理log4js(转)

nodejs整合log4js输出日志文件

使用 log4js UDP 发送数据到 logstash

NodeJS 后端开发 08 使用log4js打日志