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

log4js的安装

安装很简单

npm install log4js -S

log4js配置

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

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的使用

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");
  })

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

文章转载地址:

https://cloud.tencent.com/developer/article/1653952



帖子状态

话题参与者

回复显示排序:

给大家安利一款免费的在线流程图设计软件:贼好用 ProcessFlow — 免费在线作图、实时协作 ProcessFlow是一个在线作图工具的聚合平台, 它可以在线画流程图、思维导图、UI原型图、UML、网络拓扑图、组织结构图等等, 您无需担心下载和更新的问题, 不管Mac还是Windows,一个浏览器就可以随时随地的发挥创意,规划工作,解放您的双手,让您腾出双手去成就别人的梦想。

Finally!
有没有特别的设计建议或更新的指南?
Finally!
您好,这边没有的。
tesla02 best answer
6 Jan,2019
Finally!
有没有特别的设计建议或更新的指南?
此帖子已被版主标记,收到太多否决票。

这是太大的预览图像,它应该更小,甚至五行。在一个页面上有30到60个页面,它是1800个项目 类别例如在附加组件类别有22749个项目,为什么不看到所有的项目,但只有那1800个项目?这是件坏事。

看起来您是个新人,欢迎免费注册社区,加入我们的大家庭,一起学习,一起成长。
提交你的评论
System.out.println("请输入你的代码块...");
话题
分类
喜欢
回复
浏览
活跃
原创社区
985
0
1.5k
原创社区
985
1
1.5k
20/12/25 22:32:21
javaWeb
985
1
1.5k
20/06/15 22:09:21
youtube
698
78
2.1k
3d
Settings

请插入代码块