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. ABP之事件总线(3)

    承接上一篇时间总线的学习,在上一篇中我们实现了取消显式注册事件的方式,采用使用反射的方式.这样的好处可以解除Publisher和Scriber的显式依赖,但是问题又来了,因为我们只有Publisher ...

  2. Mysql----整理

    --------------------------------------------------数据常库常用操作总结---------------------------------------- ...

  3. ASP.NET MVC + EF 更新的几种方式

    1.常用 db.Entry(实体).State = EntityState.Modified;db.SaveChanges(); 2.指定更新 db.Configuration.ValidateOnS ...

  4. 开发人员如何从官网首页进入下载JDK历史版本

    就是下面的这篇文章,好心好意提交到百度经验,希望给需要的人一个帮助,结果被拒,说有广告.呵呵,oracle和java真的需要在你百度上面做广告吗?倒是能理解,可能是外行人做的,只是看到链接就拒了,但是 ...

  5. 《开源网店系统iWebShop2.0模板开发教程》的说明

    <开源网店系统iWebShop2.0模板开发教程>是网上广为流传的一个文档,有点问题. 其中的第4章: ========================================== ...

  6. shell监控之列出1小时内cpu占用最多的10个进程

    脚本内容如下: -------------------------------------------------------------------------------------------- ...

  7. C和C指针小记(五)-指针类型

    1.指针常量(pointer constant) 一般是没有这个概念的,指针类型的常量理解起来可以看着指针类型的常量,常用 0xff123456 表示,我们一般不会这么做.因为程序员一般无法事先知道计 ...

  8. ANT入门&用ANT编译java项目

    第一次接触ant是15年在无锡某软件公司实习时,当时的项目是由多个模块组成,开发分成模块开发的几个小组.为了提高开发效率,采用这种编译项目的方法. 最近接触到flex项目,采用eclipse自动编译的 ...

  9. DBGridEh表尾显示合计 .....

    设置如下就可以了..... FooterRowCount  : 1 SumList--------Active:=true 双击 DBGridEh  加入所需要的列....然后在 需要合计的..... ...

  10. Appium入门(5)__ Appium测试用例(1)

    步骤为:启动AVD.启动Appium.写用例(python).执行 一.启动Android模拟器                   二.启动Appium Server 双击appium图标启动,配置 ...