log4js

//配置日志的输出级别,共ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<MARK<OFF八个级别,default level is OFF

//只有大于等于日志配置级别的信息才能输出出来,可以通过category来有效的控制日志输出级别

配置如下:

var config =   {
"appenders": {
"console": {
"type": "console"
},
"trace": {
"type": "file",
"filename": "log/access.log",
"maxLogSize ": 31457280
},
"http": {
"type": "logLevelFilter",
"appender": "trace",
"level": "trace",
"maxLevel": "trace"
},
"info": {
"type": "dateFile",
"filename": "log/info",
"pattern": "-yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"compress": true
},
"maxInfo": {
"type": "logLevelFilter",
"appender": "info",
"level": "debug",
"maxLevel": "info"
},
"error": {
"type": "dateFile",
"filename": "log/error",
"pattern": "-yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"compress": true
},
"minError": {
"type": "logLevelFilter",
"appender": "error",
"level": "error"
}
},
"categories": {
"default": {
"appenders": [
"console",
"http",
"maxInfo",
"minError"
],
"level": "all"
}
}
} var log4js = require('log4js');
log4js.configure(config); var logger = log4js.getLogger("index"); //logger.level = 'debug'; logger.info("info--sadadasd");
logger.error("error--sadadasd");
logger.error("error--sadadasd");
logger.fatal("fatel--sadadasd");
logger.trace("trace--sadadasd");

  其中:

1、 config.appenders  相当于定义了一些命令  console,trace,http..

其中 type     :“console” 表示在控制台输出、file:文件输出、dateFile:按日期文件输出

2、categories.level:日志等级

categories.default :  调用上面的那些命令

3、例如:

在开发环境,不需要将日志存入文件,直接打印出来就可以了,则只需要引入一个console即可

categories.default.appenders = ["console"]  //只在控制台打印输出

4、express整合使用

新建 logger.js文件

 

var config =   {
"appenders": {
"console": { //输出到控制台
"type": "console"
},
"trace": { //输出到文件 (log/access.log)
"type": "file",
"filename": "log/access.log",
"maxLogSize ": 31457280
},
"http": {
"type": "logLevelFilter", //定义输出到文件,日志的等级
"appender": "trace", //对应定义的 appenders 里面的 trace任务
"level": "trace", //输出到任务文件(log/access.log)的 日志最低等级
"maxLevel": "trace" // 输出到任务文件(log/access.log)的 日志最高等级
},
"info": {
"type": "dateFile", //输出到格式化的文件(log/info-yyyy-MM-dd.log)
"filename": "log/info",
"pattern": "-yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"compress": true
},
"maxInfo": {
"type": "logLevelFilter", //定义输出到文件,日志的等级
"appender": "info",//对应定义的 appenders 里面的 info任务
"level": "debug", //输出到任务文件(log/info-yyyy-MM-dd.log)的 日志最低等级
"maxLevel": "info" //输出到任务文件(log/info-yyyy-MM-dd.log)的 日志最高等级
},
"error": {
"type": "dateFile", //输出到格式化的文件 (log/error-yyyy-MM-dd.log)
"filename": "log/error",
"pattern": "-yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"compress": true
},
"minError": {
"type": "logLevelFilter", //定义输出到文件,日志的等级
"appender": "error",//对应定义的 appenders 里面的 error任务
"level": "error" //输出到任务文件(log/error-yyyy-MM-dd.log)的 日志最低等级
}
},
"categories": {
"default": {
"appenders": [
"console",
"http",
"maxInfo",
"minError"
],
"level": "all"
}
}
} //配置日志的输出级别,共ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<MARK<OFF八个级别,default level is OFF //只有大于等于日志配置级别的信息才能输出出来,可以通过category来有效的控制日志输出级别 /*
var logger = log4js.getLogger("global:");
logger.level = 'error';
logger.debug("debug---asdasdasd");
logger.info("info--sadadasd");
logger.error("error--sadadasd");
logger.error("error--sadadasd");
logger.fatal("fatel--sadadasd");
logger.trace("trace--sadadasd");
*
* */ var log4js = require('log4js'); //根据运行环境配置参数 if(process.env.NODE_ENV == "production"){
//生产环境
config.categories.default.appenders = ["http","maxInfo","minError"];
config.categories.default.level = "info";
}else{
config.categories.default.appenders = ["console"];
config.categories.default.level = "all";
} log4js.configure(config); module.exports = log4js;

  

 

在app.js

var log4js = require('log4js');
   var logger = require("./lib/logger").getLogger("app.js"); //表示这个日志来着于 app.js文件

// app.use(logger('dev'));
app.use(log4js.connectLogger(log4js.getLogger("http"), { level: 'trace' })); //http请求日志,输出的等级为trace

  

5、其他地方使用:

 var logger = require("./lib/logger").getLogger("other.js");
//logger.level = 'error'; //可以不设置,不设置就使用之前配置的default里面的等级
logger.debug("debug---asdasdasd");
logger.info("info--sadadasd");
logger.error("error--sadadasd");
logger.error("error--sadadasd");
logger.fatal("fatel--sadadasd");
logger.trace("trace--sadadasd");

  


var config =   {    "appenders": {      "console": { //输出到控制台        "type": "console"      },      "trace": {  //输出到文件 (log/access.log)        "type": "file",        "filename": "log/access.log",        "maxLogSize ": 31457280      },      "http": {          "type": "logLevelFilter",  //定义输出到文件,日志的等级        "appender": "trace",       //对应定义的 appenders 里面的 trace任务        "level": "trace",          //输出到任务文件(log/access.log)的 日志最低等级        "maxLevel": "trace"//输出到任务文件(log/access.log)的 日志最高等级      },      "info": {        "type": "dateFile",  //输出到格式化的文件(log/info-yyyy-MM-dd.log)        "filename": "log/info",        "pattern": "-yyyy-MM-dd.log",        "alwaysIncludePattern": true,        "compress": true      },      "maxInfo": {        "type": "logLevelFilter", //定义输出到文件,日志的等级        "appender": "info",//对应定义的 appenders 里面的 info任务        "level": "debug",  //输出到任务文件(log/info-yyyy-MM-dd.log)的 日志最低等级        "maxLevel": "info" //输出到任务文件(log/info-yyyy-MM-dd.log)的 日志最高等级      },      "error": {        "type": "dateFile", //输出到格式化的文件  (log/error-yyyy-MM-dd.log)        "filename": "log/error",        "pattern": "-yyyy-MM-dd.log",         "alwaysIncludePattern": true,        "compress": true      },      "minError": {        "type": "logLevelFilter", //定义输出到文件,日志的等级        "appender": "error",//对应定义的 appenders 里面的 error任务        "level": "error"  //输出到任务文件(log/error-yyyy-MM-dd.log)的 日志最低等级      }    },    "categories": {      "default": {        "appenders": [          "console",          "http",          "maxInfo",          "minError"        ],        "level": "all"      }    }}

node使用 log4js的更多相关文章

  1. Node.js log4js日志记录

    这次需要给之前弄的文件服务器添加日志记录,一般每天产生的日志会特别多所以安装日期来划分是最好的,这里我用了express框架,为了适应express框架这里在log.js文件中写了use方法. //日 ...

  2. node 日志 log4js 错误日志记录

    SET DEBUG=mylog:* & npm start 原文出处:http://blog.fens.me/nodejs-log4js/ 1. 默认的控制台输出 我们使用express框架时 ...

  3. node之log4js

    log4js的配置文件: "log4js": { "appenders": { "out": { "type": &qu ...

  4. Node log4js

    一个完善的项目,日志是必不可少的一部分,在node开发中,调试成了让开发者头疼的部分,因此日志成为在node中帮助调试的一个重要模块. 一.Node使用Log4js 1.使用npm工具,在命令行中 执 ...

  5. babeljs源码

    babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...

  6. node 日志管理log4js

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

  7. 项目日志的管理和应用 log4js-Node.js中的日志管理模块使用与封装

    开发过程中,日志记录是必不可少的事情,尤其是生产系统中经常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源码地址:点击打开链接 项目引用方法 ...

  8. koa2学习笔记02 - 给koa2添加系统日志 —— node日志管理模块log4js

    前言 没有日志系统的后台应用是没有灵魂的, 平时工作中每次我们遇到接口报错的时候, 都会叫后台的童鞋看下怎么回事, 这时后台的童鞋都会不慌不忙的打开一个骚骚的黑窗口. 一串噼里啪啦的命令输进去, 哐哐 ...

  9. log4js-Node.js中的日志管理模块使用与封装

    开发过程中,日志记录是不可缺少的事情.尤其是生产系统中常常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源代码地址:点击打开链接 项目引用方 ...

随机推荐

  1. ERP项目实施记录04

    周二做了计划部门的需求调查,提到现有计划(一天计划)的准确率仅有60~70%,每天下来都有30%~40%不能达成. 计划部门提出的需求更多是基于Excel操作思路,要求未来的系统要有更多的" ...

  2. linux下内核的配置和编译(2017-1-17)

    4.1 什么是内核 内核是操作系统内核的简称,内核负责实现操作系统的核心功能,包括资源管理模块,譬如内 存管理.调度系统等等.内核不包括应用程序.对于 linux 内核而言全世界是有一份内核,我们可 ...

  3. shell参数扩展

    http://zuyunfei.com/2016/03/23/Shell-Truncate-File-Extension/

  4. Inotify+rsync实现实时数据同步

    使用rsync可以实现数据同步,但是即使使用crontab定时任务最小执行间隔为1分钟,在数据实时性要求比较高场合需使用inotify+rsync实现实时同步 下载inotify wget https ...

  5. ajax传输中文参数乱码,本地使用tomcat不乱码,liunx+weblogic乱码

    公司项目有个问题,ajax请求含中文,无论是post方式还是get方式.本地使用tomcat不乱码,liunx+weblogic都乱码.并且用以往encodeURIComponent()并在后台解码之 ...

  6. 电子产品使用感受之--Mac Mini 买了之后有什么用?-- 开发啊!

    2019.01.29 更新 Mac Mini 2018这么强劲的性能,不用来做点儿什么真是可惜了. 如果只是用来看看Youtube视频,打开网页看看twitter什么的,那可真是巨大的浪费了. 因为这 ...

  7. ML.NET 0.8特性简介

    本周.NET生态圈内的更新源源不断,除了.NET Core 2.2,ASP.NET Core 2.2和Entity Framework Core 2.2之外,ML.NET 0.8也一并登上舞台. 新的 ...

  8. 蓝桥杯 入门训练 Fibonacci数列 解析

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...

  9. [No0000119]什么是柳比歇夫的时间事件记录法

    上图是我过去一年来做的时间事件记录中的某几天的记录文字.从接触到这种方法以来,也就是2009年的7月31日到今天,我已经作了一年多时间的记录.那么什么是时间事件记录?很简单,就像那两幅图片上所展示的, ...

  10. ubuntu下c/c++/python/go编译运行

    C语言: .c文件 编译器gcc//my_code下hello.c文件 $sudo apt install gcc $gcc hello.c -o hello $./hello C++: .cpp文件 ...