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存储、搜索、分析、监控、警告
标题党,等博主这个月的知识库上传之后再来更新博文
随机推荐
- BZOJ BLO 1123 (割点)【双连通】
<题目链接> 以下内容转自李煜东的<算法竞赛进阶指南> 题目大意:现在给定一张连通的无向图,不包含重边.现在输出$n$个整数,表示将第$i$个节点的所有与其它节点相关联的边去掉 ...
- CVE-2011-0762环境搭建与EXP利用
CVE-2011-0762 vsftpd拒绝服务漏洞 危害:通过发送特殊构造的数据包.利用漏洞使应用程序崩溃 条件:连接上vsftpd才能发包 发现时间:2011-03-01 需求:找到EXP运行发送 ...
- 自定义Map.Entry的Comperator实现字符频率降序排序
leetCode (#451,middle) java实现 class Solution { public String frequencySort(String s) { Map<Charac ...
- mybatis查询语句的背后之封装数据
转载请注明出处... 一.前言 继上一篇mybatis查询语句的背后,这一篇主要围绕着mybatis查询的后期操作,即跟数据库交互的时候.由于本人也是一边学习源码一边记录,内容难免有错误或不足之处,还 ...
- ServletContextListener使用详解(监听Tomcat启动、关闭)
在 Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期. 当Serv ...
- 给有C或C++基础的Python入门 :Python Crash Course 5 if语句
本章就是Pyhon版的 if语句.原理大家都懂,就不一一说说明了. 值得注意的两点: 1. 在每个if类语句结尾必须加上符号“:”. 2. 注意,在python中是否缩进代表与上一行代码是否有关. 下 ...
- 流畅的Python读书笔记(二)
2.1 可变序列与不可变序列 可变序列 list. bytearray. array.array. collections.deque 和 memoryview. 不可变序列 tuple. str 和 ...
- hibernate方法中参数传入数组的查询方法
public List<T> getByIds(Long[] ids) { return getSession().createQuery(// "FROM User WHERE ...
- 让资源管理器变得像Chrome一样标签化
让资源管理器变得像Chrome一样标签化 前段时间WIn10开发者预览版发布了更新通知,其中一个主要特性就是给资源管理器添加了标签化的功能. 习惯了各种浏览器便捷的标签化管理,早就想要这个实用的功能了 ...
- BZOJ2130 : 魔塔
考虑从$0$到$n$枚举$A$的通关楼层. 设$f[i]$表示$B$通关$i$层时$C$最多能得到多少金币,因为金币数非负,所以也可以看作最多通关多少层. 当$A$的通关楼层往上多$1$的时候,这把钥 ...