log4js的配置文件:

"log4js": {
"appenders": {
"out": { "type": "console" },
"task": { "type": "dateFile", "filename": "logs/task", "pattern": "-yyyy-MM-dd.log", "alwaysIncludePattern": true },
"result": { "type": "dateFile", "filename": "logs/result", "pattern": "-yyyy-MM-dd.log", "alwaysIncludePattern": true },
"error": { "type": "dateFile", "filename": "logs/error", "pattern": "-yyyy-MM-dd.log", "alwaysIncludePattern": true },
"default": { "type": "dateFile", "filename": "logs/default", "pattern": "-yyyy-MM-dd.log", "alwaysIncludePattern": true },
"rate": { "type": "dateFile", "filename": "logs/rate", "pattern": "-yyyy-MM-dd.log", "alwaysIncludePattern": true }
},
"categories": {
"default": { "appenders": ["out", "default"], "level": "info" },
"task": { "appenders": ["task"], "level": "info" },
"result": { "appenders": ["result"], "level": "info" },
"error": { "appenders": ["error"], "level": "error" },
"rate": { "appenders": ["rate"], "level": "info" }
}
}

  当然有的项目当中用不了这么多种Log,可自行删除一些

笔者喜欢对log4js封装一下,如下:

var log4js = require('log4js');
var logger = log4js.getLogger('info');
var loggerDebug = log4js.getLogger("debug");
var loggerError = log4js.getLogger("error");
var DEFAULT_FORMAT = ':remote-addr - -' +
' ":method uri[:url] HTTP/:http-version"' +
' :status :content-length'; function init(config) {
log4js.configure(config);
return log4js.connectLogger(log4js.getLogger('info'), {
level: log4js.levels.INFO,
format: DEFAULT_FORMAT
});
} function info(value) {
logger.info(value);
} function debug(value) {
loggerDebug.debug(value);
} function warn(value) {
logger.warn(value);
} function error(value) {
if (typeof(value) != 'object') {
logger.error(value);
loggerError.error(value);
} else {
logger.error(value.stack);
loggerError.error(value.stack);
}
} module.exports = {
init: init,
info: info,
debug: debug,
warn: warn,
error: error
}

  项目启动时首先要初始化log4js

var config = require('config');
var logger = require('./modules/logger');
logger .init(config.log4js); logger.info('The solution is resolve');

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 //配置日志的输出级别,共ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<MARK<OFF八个级别,defau ...

  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. 【bzoj3309】DZY Loves Math 莫比乌斯反演+线性筛

    Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0. 给定正整数a,b, ...

  2. logging、hashlib、collections模块

    一.hashlib模块(加密模块) 1.什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 , ...

  3. UML之用例图详解

    原文链接:https://blog.csdn.net/mj_ww/article/details/53020080 UML,即Unified Model Language,统一建模语言.百度百科对他的 ...

  4. 190308python-MySQL

    一.Python连接MySQL import pymysql conn = pymysql.connect(host='192.168.100.4', port=3306, user='dongfei ...

  5. flex弹性布局,好用

    一直不太喜欢自己布局前端页面,都是扒别人的页面 ,最近在练习小程序,页面无处可扒,只有自己布局 发现flex弹性布局真好用,布局起来很简单,实现的效果也很好,赞 以后可以自己写一点前端了,哈哈

  6. flask 的上下文管理

    Flask的上下文对象 Flask有两种Context(上下文),分别是 RequestContext 请求上下文 Request 请求的对象,封装了Http请求(environ)的内容 Sessio ...

  7. 215 Kth Largest Element in an Array 快排

    题目:在无序的数组中找到第k大的元素,也就是若长度为n的数组从小到大排列时,下标为n-k的元素. 注意Example2:第4大的元素是4,也就是数组中出现的两个5分别是第2大和第3大的数字. 解法一: ...

  8. UESTC - 1137 数位DP

    #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #i ...

  9. PIE SDK打开栅格数据

    1. 功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联. ...

  10. element-ui日期组件DatePicker设置日期选择范围Picker Options

    element-UI提供了DatePicker日期选择器组件,可以让我们很方便的获取到日期,默认的选择是全部的日期都可以选择的,但是很多场景中我们要对日期选择范围做限定,比如出行日期就不能选过去的日期 ...