专栏首页OECOMnodejs使用log4js做日志系统

nodejs使用log4js做日志系统

在一个项目当中,日志系统在项目中重要性在这里就不再累述,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://www.oecom.cn复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • nodejs-日志组件log4js的使用方法

    晓晨
  • Docker - 制作Nodejs镜像

    本文基于腾讯云云服务器CVM系统工具配置文章的基础上,在腾讯云云服务器(CentOS系统)上基于镜像文件Dockerfile制作 Nodejs 镜像。

    issac
  • NODEJS开发经验

    前段时间做了一个 nodejs 应用,项目架构是 前端 vue 单页应用,后端 nodejs 其实有考虑 ssr,但是因开发时间比较紧张,就没能使用。 下面是开...

    epoos
  • 使用pm2部署node生产环境

    keyWords
  • 手写可配置的express nodejs的代理

    nodejs比较好的代理包有:node-http-proxy和http-proxy-middleware。这两个我都用过,它们的优点自不用说,只说说缺点:它们不...

    疯狂的技术宅
  • 搭建node服务(1):日志处理

    对于一个应用程序来说,日志记录是非常重要的。日志可以帮助开发人员快速定位线上问题,定制解决方案;日志中包含大量用户信息,通过日志分析还可以获取用户行为、兴趣偏好...

    宜信技术学院
  • 搭建node服务(一):日志处理

    对于一个应用程序来说,日志记录是非常重要的。日志可以帮助开发人员快速定位线上问题,定制解决方案;日志中包含大量用户信息,通过日志分析还可以获取用户行为、兴趣偏好...

    宜信技术学院
  • iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 记录日志

    沪江CCtalk视频地址:https://www.cctalk.com/v/15114923883523 log 日志中间件 最困难的事情就是认识自己。 在一...

    iKcamp
  • winston log 库如何创建 custom logger

    在上面的例子中,应用程序有两个服务,用户和交易。 为此类服务创建不同的记录器将是相关的。 这些区分了各种应用程序服务的问题。

    Jerry Wang
  • Nest.js 从零到壹系列(四):使用中间件、拦截器、过滤器打造日志系统

    上一篇介绍了如何使用 JWT 进行单点登录,接下来,要完善一下后端项目的一些基础功能。

    一只图雀
  • Nest.js 实战系列四:使用中间件、拦截器、过滤器打造日志系统

    上一篇介绍了如何使用 JWT 进行单点登录,接下来,要完善一下后端项目的一些基础功能。

    五月君
  • Koa日志中间件封装开发

    keyWords
  • 关于日志输出的一点点想法

    日志文件提供精确的系统记录,根据日志最终定位到错误详情和根源。日志的特点是,它描述一些离散的(不连续的)事件。例如:应用通过一个滚动的文件输出 INFO 或 E...

    心之伊始
  • 基于 log4js 做全链路日志

    提到监控或应用观测,经常出现三个词:「链路(Tracing)」、「指标(Metric)」和「日志(Logging)」。

    fjywan
  • 手把手搭建koa2后端服务器-日志模块和文件上传

    星星在线
  • nodejs总结之日志模块log4js

    晓晨
  • nodercms项目源码阅读

    nodercms是一个使用express+mongoose编写的cms。整个项目目录结构是一个典型的Express应用的项目结构,项目的后端代码量为7000行左...

    用户1515472

扫码关注云+社区

领取腾讯云代金券