常用的2种配置:

1.按文件大小分片,备份若干数量的文件

var log4js = require('log4js');

log4js.configure({
"appenders" : [
{"type" : "console"},
{
"type" : "file",
"filename" : "logs/app.log",
"maxLogSize" : 204800,
"backups" : 10,
"category" : "app"
}
],
"replaceConsole": true,
"levels" : {
"app" : "ALL"
}
}); var logger = log4js.getLogger('app'); app.use(log4js.connectLogger(logger, {format: ':remote-addr :method :url :status :response-time ms'})

2.按日期分片,此分片方式不可以进行大小和备份数量的限制

var log4js = require('log4js');

log4js.configure({
appenders : [
{type : 'console'},
{
type : 'dateFile',
filename : 'logs/app',
pattern : '-yyyy-MM-dd.log',
alwaysIncludePattern : true,
category : 'app'
}
],
replaceConsole: true
});
var logger = log4js.getLogger('app'); app.use(log4js.connectLogger(logger, {level: 'ALL', format: ':remote-addr :method :url :status :response-time ms'}));

多类型多应用文件分片配置:

log4js.configure({
"appenders" : [
{"type" : "console"},
{
"type" : "file",
"filename" : "logs/app1.log",
"maxLogSize" : 204800,
"backups" : 10,
"category" : "app1"
},
{
"type" : "file",
"filename" : "logs/app2.log",
"maxLogSize" : 204800,
"backups" : 10,
"category" : "app2"
},
{
"type" : "file",
"filename" : "logs/app3.log",
"maxLogSize" : 204800,
"backups" : 10,
"category" : "app3"
}
],
"replaceConsole": true,
"levels" : {
"app1" : "ALL", //等级可以设置ALL,AUTO,INFO,WARN,ERROR
"app2" : "ALL",
"app3" : "ALL"
}
});

模块化:

1.定义配置文件log4js.json

{
"appenders" : [
{"type" : "console"},
{
"type" : "dateFile",
"filename" : "logs/app",
"pattern" : "-yyyy-MM-dd.log",
"alwaysIncludePattern" : true,
"category" : "app"
}
],
"replaceConsole": true,
"levels" : {
"app" : "ALL"
}
}

2.自定义模块ms.js

/*
* log4js
*/
var log4js = require("log4js");
exports.log4js_config = require("../log4js.json");
log4js.configure(this.log4js_config);
exports.logger = log4js.getLogger("app");

3.使用方法

var ms = require("ms");

ms.logger.info("INFO TEST");
ms.logger.warn("WARN TEST");
ms.logger.error("ERROR TEST");

nodejs日志管理log4js的更多相关文章

  1. 玩转Nodejs日志管理log4js(转)

    转自:http://blog.fens.me/nodejs-log4js/ 前言 日志对任何的应用来说都是至关重要的.在Nodejs中使用express框架并没有自带的日志模块,我们可以选择log4j ...

  2. Nodejs日志管理包

    Nodejs日志管理工具包:log4js 和 winston 1.log4js的使用 1)package.json中加入依赖 "log4js":"~0.6.21" ...

  3. node 日志管理log4js

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

  4. 日志管理log4js的配置

    以前就是在app.js 直接用,今天把它抽出来了. log4js.json { "appenders": [ { "type":"console&qu ...

  5. nodejs之日志管理

    开发一个项目时,可以通过控制台输出或者debug来获取到项目的运行信息.当项目上线时,我们就需要通过日志来分析.如同Java的log4j,nodejs中也有相关的log4js.使用过log4j的同学应 ...

  6. Linux_CentOS下搭建Nodejs 生产环境-以及nodejs进程管理器pm2的使用

    nodejs安装:https://www.cnblogs.com/loaderman/p/11596661.html nodejs 进程管理器 pm2 的使用 PM2 是一款非常优秀的 Node 进程 ...

  7. 第13章 Linux日志管理

    1. 日志管理 (1)简介 在CentOS 6.x中日志服务己经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式其 ...

  8. ABP(现代ASP.NET样板开发框架)系列之8、ABP日志管理

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之8.ABP日志管理 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  9. 【Java EE 学习 76 下】【数据采集系统第八天】【通过AOP实现日志管理】【日志管理功能分析和初步实现】

    一.日志管理相关分析 1.日志管理是一种典型的系统级别的应用,非常适合使用spring AOP实现. 2.使用日志管理的目的:对系统修改的动作进行记录,比如对权限.角色.用户的写操作.修改操作.删除操 ...

随机推荐

  1. DB2触发器简单例子

    db2使用版本9.7 创建A .B两个表,A表数据有更新.删除.插入时,将A表ID记录放入B表 1.create table A (id varchar(5),name varchar(30)); c ...

  2. spring深入了解心得

    spring 主要核心组件 :Core.上下文(Context) .实体(Bean): spring 主要由两大特色:控制反转(IOC).面向对象(AOP): spring中Core主要用于组建Bea ...

  3. asp.net mvc 中通过url字符串获取controller和action

    在项目中遇到需要通过url字符串获取controller和action的情况,百度了 一下找到了一个可以用的方法 ,在这里分享和记录一下 这个方法是在博客园的博问里看到的 原文地址是http://q. ...

  4. C#NPOI.RabbitMQ.EF.Attribute.HttpRuntime.Cache.AD域.List<T>根据指定字段去重.前端JQuery.Cache.I18N(多语言).data-xx(自定义属性)

    使用NPOI 操作Excel 个人使用的电脑基本默认安装Excel 操作起来 调用Excel的组件便可.如果是一台服务器.没有安装Excel,也就无法调用Excel组件. 在此推荐第三方插件.NPOI ...

  5. go语言 defer 你不知道的秘密!

    go 语言的defer功能强大,对于资源管理非常方便,但是如果没用好,也会有陷阱哦.我们先来看几个例子. 例一: defer 是先进后出 这个很自然,后面的语句会依赖前面的资源,因此如果先前面的资源先 ...

  6. spring mvc 框架启动报错:nested exception is java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal 解决办法

    今天准备将以前自己搭建的一个框架拿出来用一下,结果发现启动报错:nested exception is java.lang.NoClassDefFoundError: org/w3c/dom/Elem ...

  7. 宏定义(无参宏定义和带参宏定义),C语言宏定义详解

    1.宏定义说明 宏定义是比较常用的预处理指令,即使用"标识符"来表示"替换列表"中的内容.标识符称为宏名,在预处理过程中,预处理器会把源程序中所有宏名,替换成宏 ...

  8. 第十一篇 logging模块

    logging模块是Python中内置的很强大的一个日志模块,它可以帮我们记录程序运行的情况,对于后续排错有很好的帮助. logging模块定义了下表所示的日志级别,按照严重程度由低到高排列: 级别 ...

  9. JDK、JRE、JVM三者关系

    一.JDK.JRE.JVM三者的关系 JDK包含了JRE和JVM,JRE包含了JVM,其中JRE中没有javac 附一张官网的详细图: 二.RIA RIA(富客户端):能完成浏览器无法完成的功能,它是 ...

  10. Windows bat脚步同步时间

    @echo onnet stop w32timew32tm /unregisterw32tm /registernet start w32timew32tm /config /manualpeerli ...