nodejs使用log4js做日志系统

Posted 落帆亭博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs使用log4js做日志系统相关的知识,希望对你有一定的参考价值。


在一个项目当中,日志系统在项目中重要性在这里就不再累述,log4js是nodejs中的一个日志模块,通过设置其优先级别,可以打印出不同级别的日志,便于后续的系统分析。下面来介绍一下log4js的具体使用,这里介绍的版本为2.8.0。

log4js的安装

安装很简单


1

npm install log4js -S


log4js配置

在项目的根目录添加一个log目录,在该目录中新建indexjs,开始配置log4js


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

var path = require("path");

const log4js = require('log4js');

log4js.configure({

  appenders: {

   cheese: {

    type: 'file',

     filename: 'cheese.log',

     maxLogSize:10,//文件最大存储空间,当文件内容超过文件存储空间会自动生成一个文件test.log.1的序列自增长的文件

}

},

  categories: { default: { appenders: ['cheese'], level: 'info' } }

});

 

const logger = log4js.getLogger('cheese');

module.exports=logger

filename部分可以设置输出的日志文件名称,直接写名称的话会自动创建在项目的根目录,如果想指定其路径,可以自行添加。

type部分设置生成的类型,有两种类型,一种是file,另一种是dateFile。file文件类型则为将日志生成到一个文件中,通过下面的maxLogSize来设置文件的最大值,当大于此值后,则自动创建一个新的文件来存储日志。

dateFile类型则是以天为单位,每天创建一个日志,可以根据自己的需要来判断具体使用哪种类型。

根据天来创建日志的配置代码如下:

var path = require("path");

const log4js = require('log4js');

log4js.configure({

  appenders: {

   cheese: {

    type: 'dateFile',

     filename: 'logs/cheese',

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

     alwaysIncludePattern: true,

category: 'normal'

},

  categories: { default: { appenders: ['cheese'], level: 'info' } }

});


const logger = log4js.getLogger('cheese');


module.exports=logger



categories部分设置了其优先等级为info,log4js 的输出级别: trace,debug,info,warn,error,fatal,设置为info后,则只会打印info及其后面的日志。

log4js的使用



1

2

3

4

5

6

7

8

9

10

11

var express = require('express');

var router = express.Router();

const bodyParser = require("body-parser");

const cookieParser = require("cookie-parser");

var logger = require('../log')

 

router.get('/detailArticle',function(req,res,next){

 

loger.info(req.headers);

res.end("goodbye");

  })

使用时直接引入,即可使用。


以上是关于nodejs使用log4js做日志系统的主要内容,如果未能解决你的问题,请参考以下文章

NodeJS写日志_Log4js使用详解

玩转Nodejs日志管理log4js(转)

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

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

AWS Elastic Beanstalk NodeJS 和日志

nodejs之日志管理