node使用 log4js
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的更多相关文章
- Node.js log4js日志记录
这次需要给之前弄的文件服务器添加日志记录,一般每天产生的日志会特别多所以安装日期来划分是最好的,这里我用了express框架,为了适应express框架这里在log.js文件中写了use方法. //日 ...
- node 日志 log4js 错误日志记录
SET DEBUG=mylog:* & npm start 原文出处:http://blog.fens.me/nodejs-log4js/ 1. 默认的控制台输出 我们使用express框架时 ...
- node之log4js
log4js的配置文件: "log4js": { "appenders": { "out": { "type": &qu ...
- Node log4js
一个完善的项目,日志是必不可少的一部分,在node开发中,调试成了让开发者头疼的部分,因此日志成为在node中帮助调试的一个重要模块. 一.Node使用Log4js 1.使用npm工具,在命令行中 执 ...
- babeljs源码
babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...
- node 日志管理log4js
node 日志管理log4js 一.默认的控制台输出 我们使用express框架时,开发模式用node或者supervisor启动nodejs应用时,控制台都是显示如下的日志. GET /css/bo ...
- 项目日志的管理和应用 log4js-Node.js中的日志管理模块使用与封装
开发过程中,日志记录是必不可少的事情,尤其是生产系统中经常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源码地址:点击打开链接 项目引用方法 ...
- koa2学习笔记02 - 给koa2添加系统日志 —— node日志管理模块log4js
前言 没有日志系统的后台应用是没有灵魂的, 平时工作中每次我们遇到接口报错的时候, 都会叫后台的童鞋看下怎么回事, 这时后台的童鞋都会不慌不忙的打开一个骚骚的黑窗口. 一串噼里啪啦的命令输进去, 哐哐 ...
- log4js-Node.js中的日志管理模块使用与封装
开发过程中,日志记录是不可缺少的事情.尤其是生产系统中常常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源代码地址:点击打开链接 项目引用方 ...
随机推荐
- rxjs 常用的静态操作符
操作符文档 API create const { Observable } = require('rxjs'); // 创建 Observables var observable = Observab ...
- python 给字符串加颜色
msg = '\033[41;1m字符串内容\033[0m' print(msg) # \033[41;1m起始位置 改变41数值就是改变其他颜色,.033[0m 结束位置
- 分布式文件系统HDFS,大数据存储实战(一)
本文进行了以下工作: OS中建立了两个文件,文件中保存了几组单词. 把这两个文件导入了hadoop自己的文件系统. 介绍删除已导入hadoop的文件和目录的方法,以便万一发生错误时使用. 使用列表命令 ...
- HDU 2072 - 单词数 - [(有点小坑的)字典树模板题]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2072 Problem Descriptionlily的好朋友xiaoou333最近很空,他想了一件没有 ...
- POJ 3764 - The xor-longest Path - [DFS+字典树变形]
题目链接:http://poj.org/problem?id=3764 Time Limit: 2000MS Memory Limit: 65536K Description In an edge-w ...
- [No0000170]Spring Boot慢速入门
Spring的实例化Bean有三种方式: 使用类构造器直接实例化 使用静态工厂的方法实例化 使用实例工厂方法实例化 <?xml version="1.0" encoding= ...
- 1.7Oob 静态变量静态方法
1)静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员 2)如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量. 3)静态方法中不能直接调用非静态方法 ...
- 优化网站设计(九):减少DNS查找的次数
前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议.这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题. 作为通用的原则,雅虎的工程师团队曾经给出过35个 ...
- 确界原理 supremum and infimum principle 戴德金定理 Dedekind theorem
确界原理 supremum and infimum principle 戴德金定理 Dedekind theorem http://www.math.ubc.ca/~cass/courses/m ...
- 关于服务器时区BEIST-8、GMT-8、Asia/Shanghai、CST、GMT+8:00等缩写的含义
http://www.talkwithtrend.com/Article/147961 AIX系统时区总结 字数 2078阅读 5844评论 0赞 0 前几天NTP的问题牵涉出时区问题,大家可能被眼花 ...