1:先安装log4js模块

  npm install log4js

目前安装的版本信息:"log4js": "^3.0.5"

2:引用及配置

var log4js = require('log4js');
// log4js的输出级别6个: trace, debug, info, warn, error, fatal log4js.configure({
//输出位置的基本信息设置
appenders: {
//设置控制台输出 (默认日志级别是关闭的(即不会输出日志))
out: { type: 'console' },
//设置每天:以日期为单位,数据文件类型,dataFiel 注意设置pattern,alwaysIncludePattern属性
//allLog: { type: 'dateFile', filename: './log/all', pattern: '-yyyy-MM-dd.log', alwaysIncludePattern: true }, //所有日志记录,文件类型file 文件最大值maxLogSize 单位byte (B->KB->M) backups:备份的文件个数最大值,最新数据覆盖旧数据
allLog: { type: 'file', filename: './log/all.log', keepFileExt: true, maxLogSize: , backups: }, //http请求日志 http请求日志需要app.use引用一下, 这样才会自动记录每次的请求信息
httpLog: { type: "dateFile", filename: "log/httpAccess.log", pattern: ".yyyy-MM-dd", keepFileExt: true }, //错误日志 type:过滤类型logLevelFilter,将过滤error日志写进指定文件
errorLog: { type: 'file', filename: './log/error.log' },
error: { type: "logLevelFilter", level: "error", appender: 'errorLog' }
},
//不同等级的日志追加到不同的输出位置:appenders: ['out', 'allLog'] categories 作为getLogger方法的键名对应
categories: {
//appenders:采用的appender,取上面appenders项,level:设置级别
http: { appenders: ['out', 'httpLog'], level: "debug" },
default: { appenders: ['out', 'allLog', 'error'], level: 'debug' }, //error写入时是经过筛选后留下的
} }); //getLogger参数取categories项,为空或者其他值取default默认项
// exports.getLogger = function (name) {
// return log4js.getLogger(name || 'default')
// }
const logger = log4js.getLogger("liveMeeting"); const httpLog = log4js.getLogger('http');
const httpLogger = log4js.connectLogger(httpLog, { level: 'WARN' }); exports = module.exports = { logger, httpLogger };
http请求日志  http请求日志需要app.use引用一下, 这样才会自动记录每次的请求信息 :
global.logger = require('./config/log4js').logger;
httpLogger = require('./config/log4js').httpLogger; //这样会自动记录每次请求信息,放在其他use上面
app.use(httpLogger);

logger用来记录所有手动输入的日志,如:

logger.info('test info');
logger.error('test error info ');
 
httpLogger用来记录每次请求日志;
 
参数参考文章: 文章1
                         文章2

日志模块log4js的配置说明的更多相关文章

  1. node 日志管理log4js

    node 日志管理log4js 一.默认的控制台输出 我们使用express框架时,开发模式用node或者supervisor启动nodejs应用时,控制台都是显示如下的日志. GET /css/bo ...

  2. 玩转Nodejs日志管理log4js(转)

    转自:http://blog.fens.me/nodejs-log4js/ 前言 日志对任何的应用来说都是至关重要的.在Nodejs中使用express框架并没有自带的日志模块,我们可以选择log4j ...

  3. 【腾讯Bugly干货分享】微信mars 的高性能日志模块 xlog

    本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/581c2c46bef1702a2db3ae53 Dev Club 是一个交流移动 ...

  4. Python 日志模块 logging通过配置文件方式使用

    vim logger_config.ini[loggers]keys=root,infoLogger,errorlogger [logger_root]level=DEBUGhandlers=info ...

  5. 搭建一套自己实用的.net架构(2)【日志模块-log4net】

    先谈谈简单的模块,日志.在系统中日志模块是必须的,什么系统日志,操作日志,调试日志.这里用的是log4net. 对log4net还不熟悉的小伙伴们赶快去搜索基础教程哦, 我这里就不温故了. 那么有人要 ...

  6. logging 日志模块学习

    logging 日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪,所以还是灰常重要滴,下面我就来从入门到放弃的系统学习一下日志既可以在屏幕上显示,又可以在文件中体现. ...

  7. 【腾讯Bugly干货分享】微信终端跨平台组件 mars 系列(一) - 高性能日志模块xlog

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ff5932cde42f1f03de29b1 本文来源: 微信客户端开发团队 ...

  8. 日志模块logging使用心得

    在应用程序使用中,日志输出对应用维护人员.开发人员判断程序的问题起重要作用. 那么在python中如何定义程序的日志输出? 推荐使用日志模块logging 需求:实现日志内容输出在文件中和控制器中 i ...

  9. python日志模块

    许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系 统的运行状况进行跟踪.在.NET平台中,有非常著名的第三方开源日志组件log4net,c++中,有人们熟悉的log4c ...

随机推荐

  1. SkyWalking分布式链路追踪和监控-项目实战

    微服务框架落地后,分布式部署架构带来的问题就会迅速凸显出来.服务之间的相互调用过程中,如果业务出现错误或者异常,如何快速定位问题?如何跟踪业务调用链路?如何分析解决业务瓶颈?本专栏将引入Skywalk ...

  2. 基本认证(Basic Authorization)

    ---------------------------------- import arcpy from base64 import encodestring username = 'xxx' pas ...

  3. 剑指 Offer——2. 替换空格

    题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 思路与实现 ...

  4. DRF简易了解

    Drf框架 一丶API接口 # 为了在团队内部形成共识.防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本. ...

  5. webpack篇,结合理论与实际,加以透彻分析!

    Webpack篇 开始着手项目打包的一些东西,还不是特别懂,一边学习,一边做笔记好啦. 1.webpack的概念.Webpack 是当下最热门的前端资源模块化管理和打包工具.任何形式的资源都可以视作模 ...

  6. opencv::GMM(高斯混合模型)

    GMM方法概述:基于高斯混合模型期望最大化. 高斯混合模型 (GMM) 高斯分布与概率密度分布 - PDF 初始化 初始化EM模型: Ptr<EM> em_model = EM::crea ...

  7. LeetCode——Rank Scores

    Write a SQL query to rank scores. If there is a tie between two scores, both should have the same ra ...

  8. JavaScript深入浅出第4课:V8引擎是如何工作的?

    摘要: 性能彪悍的V8引擎. <JavaScript深入浅出>系列: JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼? JavaScript深入浅出第2课:函数是一等 ...

  9. tornado 文件上传

    服务端 def post(self, *args, **kwargs): # content_type # filename # body file_data=self.request.files i ...

  10. jquery实现checkbox列表的全选不选

    html代码 <th><input type="checkbox" onclick="selectAll(this);" />全选/取消 ...