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. [Asp.net]绝对路径和相对路径

    目录 绝对路径 相对路径 总结 绝对路径 绝对路径就是你的主页上的文件或目录在硬盘上真正的路径.比如:E:\新概念英语\新版新概念英语第二册课文PDF.pdf.以Web 站点根目录为参考基础的目录路径 ...

  2. el表达式用==和eq的注意事项

    eq和==一般是一样的,但是注意el表达式中使用==判断的时候不允许有空格,例如: ${job.jobName==requestScope.user.job.jobName?"selecte ...

  3. myeclipse编译弹框:The builder launch configuration could not be found

    myEclipse 每次编译时报 "The builder launch configuration could not be found" 的弹框:不影响项目编译启动,但是弹框挺 ...

  4. AD 16 下绘图的几个技巧

    1.绘制封装如果引脚过多怎么办,使用阵列粘贴功能 首先建立一个焊盘,然后选中,使用 ctrl + c 复制,注意复制确认的时候,鼠标一定要点击到焊盘中间. 选择阵列粘贴 条款就是你要复制多少个,增量就 ...

  5. hive进行词频统计

    统计文件信息: $ /opt/cdh-5.3.6/hadoop-2.5.0/bin/hdfs dfs -text /user/hadoop/wordcount/input/wc.input hadoo ...

  6. 2015年蓝桥杯省赛A组c++第4题

    /* StringInGrid函数会在一个指定大小的格子中打印指定的字符串. 要求字符串在水平.垂直两个方向上都居中. 如果字符串太长,就截断. 如果不能恰好居中,可以稍稍偏左或者偏上一点. 下面的程 ...

  7. iOS程序main函数之前发生了什么

    我是前言 一个iOS app的main()函数位于main.m中,这是我们熟知的程序入口.但对objc了解更多之后发现,程序在进入我们的main函数前已经执行了很多代码,比如熟知的+ load方法等. ...

  8. isprime_判断质数

    判断质数的方法有很多,首先是最简单的试除法,判断n以内的质数的话时间复杂度为n*sqrt(n)当然是很慢的了 下面提供三种判断质数的方法: 首先是跑5051ms的这个是埃拉托斯特尼筛法 且不加优化 核 ...

  9. router 设置时 模板的新引法

    { path: '/Index1', name: 'Index', component: () => import ('@/components/Index.vue') },

  10. sqlserver配置允许快照隔离

    ALTER DATABASE TustenaOS SET ALLOW_SNAPSHOT_ISOLATION ON