log4js
这一篇足够:转载:http://www.cnblogs.com/Joans/p/4092293.html
代码贴出来吧:
log.js
var log4js = require('log4js');
log4js.configure({
appenders: [
{
type: 'console',
category: "console"
}, //控制台输出
{
type: "dateFile",
filename: 'logs/log.log',
pattern: "_yyyy-MM-dd",
alwaysIncludePattern: false,
category: 'dateFileLog'
},
{
type: "dateFile",
filename: 'logs/sqllog.log',
pattern: "_yyyy-MM-dd",
alwaysIncludePattern: false,
category: 'sqlFileLog'
},
{
type: 'file',
filename: 'logs/soldier.log',
category: 'soldierLog'
}
],
replaceConsole: true, //替换console.log
levels: {
dateFileLog: 'INFO',
sqlFileLog: 'INFO',
soldierLog: 'ERROR'
}
}); var dateFileLog = log4js.getLogger('dateFileLog');
var soldierLog = log4js.getLogger('soldierLog');
var sqlFile = log4js.getLogger('sqlFileLog'); //exports.logger = dateFileLog; exports.use = function (app) {
//页面请求日志,用auto的话,默认级别是WARN
//app.use(log4js.connectLogger(dateFileLog, {level:'auto', format:':method :url'}));
app.use(log4js.connectLogger(dateFileLog, {level: 'debug', format: ':method :url'}));
}; global.logger = dateFileLog;
global.sqlLogger = sqlFile;
global.soldierLog = soldierLog;
在express初始化时候:
var log = require('./log4');//引入Log4js
log.use(app);//app为express的对象
虽然设置的debug模式,但是只有info以上的可以打出来,info也可以
其中type的格式有file 还有datefile之类的。
log4js的输出级别6个: trace, debug, info, warn, error, fatal
- logger.trace(‘Entering cheese testing’);
- logger.debug(‘Got cheese.’);
- logger.info(‘Cheese is Gouda.’);
- logger.warn(‘Cheese is quite smelly.’);
- logger.error(‘Cheese is too ripe!’);
- logger.fatal(‘Cheese was breeding ground for listeria.’);
如果输出级别是INFO,则不会打印出低于info级别的日志trace,debug,只打印info,warn,error,fatal。这样做 的好处在于,在生产环境中我们可能只关心异常和错误,并不关心调试信息。从而大大减少日志的输出,能减少磁盘写入。而在开发环境中,我们可以需要打印非常 多的信息,帮助开发人员定位错误,调试代码。
还有一个好处就是,代码中可以混有各种的日志打印代码。我们只要在一个配置文件中,修改输出级别,日志输出就会发生变化,不用修改所有的代码。如果所有地方都是console.log(),那么上线的时候,改动这个东西就要花很多时间。
log4js的更多相关文章
- NodeJs之log4js
log4js log4js是一个管理,记录日志的工具. 其实与morgan的作用类似. 安装 npm install -g log4js log4js的6个日志级别 分别是:trace(蓝色).deb ...
- 日志管理log4js的配置
以前就是在app.js 直接用,今天把它抽出来了. log4js.json { "appenders": [ { "type":"console&qu ...
- node.js中log4js的使用
以前用过forever进程守护的日志记录到指定文件,但是只能保存到一个文件中不能分片,这样到只日志文件越来越大, forever start -s -l ./forever.log app.js -l ...
- node 日志管理log4js
node 日志管理log4js 一.默认的控制台输出 我们使用express框架时,开发模式用node或者supervisor启动nodejs应用时,控制台都是显示如下的日志. GET /css/bo ...
- Node.js log4js日志记录
这次需要给之前弄的文件服务器添加日志记录,一般每天产生的日志会特别多所以安装日期来划分是最好的,这里我用了express框架,为了适应express框架这里在log.js文件中写了use方法. //日 ...
- 【log4js】
手动创建日志目录 定时清理 nodejs之日志管理 玩转Nodejs日志管理log4js access.log-2015-11-20
- 玩转Nodejs日志管理log4js(转)
转自:http://blog.fens.me/nodejs-log4js/ 前言 日志对任何的应用来说都是至关重要的.在Nodejs中使用express框架并没有自带的日志模块,我们可以选择log4j ...
- Node log4js
一个完善的项目,日志是必不可少的一部分,在node开发中,调试成了让开发者头疼的部分,因此日志成为在node中帮助调试的一个重要模块. 一.Node使用Log4js 1.使用npm工具,在命令行中 执 ...
- Nodejs 使用log4js日志
一.创建log4.js文件,保存日志到log文件,并在控制台输出,如果不控制台输出,把删除红色的代码 const log4js = require('log4js'), path = require( ...
随机推荐
- Mongo 的相关增删改查
1,Mongod 下载安装,请看https://www.mongodb.com/download-center 2,插入语句: MongoDB后台管理 Shell 如果你需要进入MongoDB后台管理 ...
- linux 下安装nodejs,CentOS 6.5 系统
本文采用nodejs 通过源码编译安装方式 编译需要gcc-c++编译器和openssl-devel库的支持,如果没有需要先安装. 在centos下可以先执行:yum install gcc-c++ ...
- 移动语义 && 函数调用过程中的 lvalue
当以一个函数内的临时变量对象作为另一个函数的形参的时候,原函数内的临时对象即 rvalue,就会成为此函数内的 lvalue. 这样会重新导致效率低下,因为造成了大量复制操作. <utility ...
- python 练习多级菜单思路
只写了一个zj的三级菜单,后面的功能没写 #-*- coding :utf-8 -*- print """ 你可以输入省份然后根据市县输入 ""&qu ...
- linux命令后台运行
有两种方式: 1. command & : 后台运行,你关掉终端会停止运行 2. nohup command & : 后台运行,你关掉终端也会继续运行 一. 简介 Lin ...
- sql date时间加减几天几小时
//时间转成年月日时分秒select date_format(now(),'%Y%m%d%H%i%S')//时间转成年月日select date_format(now(),'%Y%m%d')//去年此 ...
- docker基础命令详解
Commands: attach Attach to a running container build Build an image from a Dockerfile commit ...
- c# 当引用类型作为方法的参数
c#(java)中,参数传递都是传递的参数本身的值, 对于值类型,传递的是值本身. 对于引用类型,定义引用类型变量的时候,一个是在栈中的变量,存储的是一个指针,指向在堆中分配的对象实例的地址,当然,如 ...
- WEB安全--业务安全漏洞
0x00 索引说明 在OWASP的分享,关于业务安全的漏洞检测模型. 0x01 身份认证安全 1 暴力破解 在没有验证码限制或者一次验证码可以多次使用的地方,使用已知用户对密码进行暴力破解或者用一个通 ...
- vuejs常用指令
v-model 表单双向绑定 v-for="文件名 in 向文件添加内容的文件名" 渲染列表(内容) 将中间的in可改写成of v-on:click="name" ...