Nodejs 使用log4js日志
一、创建log4.js文件,保存日志到log文件,并在控制台输出,如果不控制台输出,把删除红色的代码
const log4js = require('log4js'),
        path = require('path')
log4js.configure({
    replaceConsole: true,
    appenders: {
        stdout: {//控制台输出
             type: 'console'
        },
        trace: {
            type: 'dateFile',
            filename: 'logs/tracelog/',
            pattern: 'trace-yyyy-MM-dd.log',
            alwaysIncludePattern: true
        },
        debug: {
            type: 'dateFile',
            filename: 'logs/debuglog/',
            pattern: 'debug-yyyy-MM-dd.log',
            alwaysIncludePattern: true
        },
        info: {
            type: 'dateFile',
            filename: 'logs/infolog/',
            pattern: 'info-yyyy-MM-dd.log',
            alwaysIncludePattern: true
        },
        warn: {
            type: 'dateFile',
            filename: 'logs/warnlog/',
            pattern: 'warn-yyyy-MM-dd.log',
            alwaysIncludePattern: true
        },
        error: {
            type: 'dateFile',
            filename: 'logs/errorlog/',
            pattern: 'error-yyyy-MM-dd.log',
            alwaysIncludePattern: true
        },
        fatal: {
            type: 'dateFile',
            filename: 'logs/fatallog/',
            pattern: 'fatal-yyyy-MM-dd.log',
            alwaysIncludePattern: true
        },
    },
    categories: {
        trace: { appenders: ['stdout', 'trace'], level: 'trace' },//appenders:采用的appender,取appenders项,level:设置级别
        debug: { appenders: ['stdout', 'debug'], level: 'debug' },
        default: { appenders: ['stdout', 'info'], level: 'info' },
        warn: { appenders: ['stdout', 'warn'], level: 'warn' },
        error: { appenders: ['stdout', 'error'], level: 'error' },
        fatal: { appenders: ['stdout', 'fatal'], level: 'fatal' },
    }
})
exports.getLogger = function (name) {//name取categories项
    return log4js.getLogger(name || 'info')
}
exports.useLogger = function (app, logger) {//用来与express结合
    app.use(log4js.connectLogger(logger || log4js.getLogger('info'), {
        format: '[:remote-addr :method :url :status :response-timems][:referrer HTTP/:http-version :user-agent]'//自定义输出格式
    }))
}
二、引用log4.js调用
const log4js  = require("../log4js/log4Builder"),
        logger  = log4js.getLogger("info")
        logger.info("现在时间:",new Date().toLocaleString())
        logger.trace("现在时间:",new Date().toLocaleString())
        logger.debug("现在时间:",new Date().toLocaleString())
        logger.info("现在时间:",new Date().toLocaleString())
        logger.warn("现在时间:",new Date().toLocaleString())
        logger.error("现在时间:",new Date().toLocaleString())
        logger.fatal("现在时间:",new Date().toLocaleString())
Nodejs 使用log4js日志的更多相关文章
- nodejs之log4js日志记录模块简单配置使用
		
在我的一个node express项目中,使用了log4js来生成日志并且保存到文件里,生成的文件如下: 文件名字叫:access.log 如果在配置log4js的时候允许了同时存在多个备份log文件 ...
 - Node.js log4js日志记录
		
这次需要给之前弄的文件服务器添加日志记录,一般每天产生的日志会特别多所以安装日期来划分是最好的,这里我用了express框架,为了适应express框架这里在log.js文件中写了use方法. //日 ...
 - nodejs使用log4js记录日志
		
log4j是java里面最好用的日志记录插件,在.net上面也有移植log4j.net.同样也移植到了nodejs里面,多的不说,把自测通过的代码粘出来吧. var log4js = require( ...
 - NodeJs之log4js
		
log4js log4js是一个管理,记录日志的工具. 其实与morgan的作用类似. 安装 npm install -g log4js log4js的6个日志级别 分别是:trace(蓝色).deb ...
 - Nodejs线上日志部署
		
Nodejs 被越来越多的使用到线上系统中,但线上系统没有日志怎么行呢. 一.forever记录日志 我的线上系统使用forever来启动服务,最开始就直接使用了forever来记录 forever ...
 - log4js日志
		
安装log4js:npm install log4js express中配置log4js中间件: var log = require("./modules/utils/logUtil.js& ...
 - log4js日志配置问题
		
http://blog.csdn.net/cdnight/article/details/50857268 在做项目中,我们的node日志采用的是log4js框架,使用文件方式存储,但在后面的需求中增 ...
 - nodejs简单http日志存储
		
nodejs实现简单http日志存储 /* 日志存储: 202.189.63.115 - - [31/Aug/2008:15:42:31 +0800] "GET / HTTP/1.1&quo ...
 - nodejs(log4js)服务中应用splunk进行Log存储、搜索、分析、监控、警告
		
标题党,等博主这个月的知识库上传之后再来更新博文
 
随机推荐
- python 多版本共存
			
py2和3都安装结束后 接下来就是检查环境变量,缺少的我们需要添加. 在path中找以下4个变量 1.c:\Python27 2.c:\Python27\Scripts 3.c:\Python36 4 ...
 - python核心语法
			
一.语句和语法 #:注释 \:转译回车,继续上一行,在一行语句较长的情况下可以使用其来切分成多行,因其可读性差所以不建议使用 ::将两个语句连接到一行,可读性差,不建议使用 ::将代码的头和体分开 语 ...
 - Django模板语言的复用
			
一.include标签 由于在项目中,往往会出现多个页面拥有一个或几个相同的页面版块,或是一个页面多个页面版块是相同的,基于这个问题,我们可以采用模板语言复用include标签来帮我们解决,这样就避免 ...
 - [SNV]奇怪的错误搜集
			
ld: library not found for -XXXXX clang: error: linker command failed with exit code 1 (use -v to see ...
 - Python中的iteritems()和items()
			
我用的是Python3.6 在Python3.x中,iteritems() 和 viewitems() 这两个方法都已经废除了,用 items()替换iteritems() ,for循环来遍历出来.
 - docker -v挂载
			
docker run -d -p 3306:3306 -v /var/lib/mydata:/var/lib/mysql my_sql docker exec -it mys_sql /bin/ba ...
 - CY7C68013 USB接口相机开发记录 - 第二天:驱动修改
			
上次写了资料的下载,并对资料进行了分类,分完类看起来就比较清晰.同时通过强大的百度,也可以得到不少资料. 这里对比较关键的几个文件进行罗列: 一.驱动相关 cyusb.inf: 修改CYUSB.INF ...
 - BZOJ3877 : [Ahoi2014&Jsoi2014]保龄球
			
考虑从前往后放所有轮. 如果上一轮是全中: 那么这一轮如果是补中,一定放第一次最小的,这样可以让第一次大的放在其它补中之后. 如果这一轮是失误,那么一定放总分最大的. 如果上一轮是补中: 这一轮一定放 ...
 - Django构建简介
			
MVC框架 MVC:Model View Controller,是软件工程中的一种软件构架模式,把软件系统分为三个基本模型,具有耦合性低.重用性高.生命周期成本低等优点 Model:模型,操作数据库 ...
 - JAVA自学笔记19
			
JAVA自学笔记19 1.集合总结 Collection(单列集合) List(有序可重复) ArrayList:底层数据结构是数组 ,查询快,增删慢.线程不安全,效率高 Vector:底层数据结构是 ...