常用的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. WPF 控件库——可拖动选项卡的TabControl

    WPF 控件库系列博文地址: WPF 控件库——仿制Chrome的ColorPicker WPF 控件库——仿制Windows10的进度条 WPF 控件库——轮播控件 WPF 控件库——带有惯性的Sc ...

  2. Qt中QBitmap 的使用 --QBitmap的作用

    特别注意:如果想把做一个先把图画在内存中,在显示到页面,不要使用bitmap,这个只有单色: 一般情况下QBitmap只作为图片掩码使用,比如做不规则窗口. QBitmap表示一种只有黑白的单色图片, ...

  3. C# enum 枚举 反射

    枚举遍历 public enum EMyType { [System.ComponentModel.Description("A类型")] TypeA = 1, [System.C ...

  4. IDEA下载与安装

    IntelliJ IDEA号称当前Java开发效率最高的IDE工具. IntelliJ IDEA有两个版本:社区版(Community)和旗舰版(Ultimate). 社区版 是免费的.开源的,但功能 ...

  5. F题(水题)

    给出一个有N个数的序列,编号0 - N - 1.进行Q次查询,查询编号i至j的所有数中,最大的数是多少.   例如: 1 7 6 3 1.i = 1, j = 3,对应的数为7 6 3,最大的数为7. ...

  6. JSP页面导出PDF格式文件

    JSP页面导出PDF格式文件基本在前端页面可以全部完成 <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/ ...

  7. JavaBean的概念

    Java的一个特性,数据与行为相分离.数据就是成员变量,行为就是setter和getter方法 JavaBean是Java中开发的可以跨平台的重要组件,在JSP中常用来封装业务逻辑和数据库操作.Jav ...

  8. Linux管理命令

    管理命令 用户管理: useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage 组管理: groupadd, groupdel, ...

  9. SLAM到底是什么?一文带你读懂SLAM

    SLAM是Simultaneous localization and mapping缩写,意为“同步定位与建图”,主要用于解决机器人在未知环境运动时的定位与地图构建问题,为了让大家更多的了解SLAM, ...

  10. JavaScript的高级知识---词法分析

    JavaScript的高级知识---词法分析 词法分析 词法分析方法: js运行前有一个类似编译的过程即词法分析,词法分析主要有三个步骤: 分析参数 再分析变量的声明 分析函数说明 函数在运行的瞬间, ...