一、创建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日志的更多相关文章

  1. nodejs之log4js日志记录模块简单配置使用

    在我的一个node express项目中,使用了log4js来生成日志并且保存到文件里,生成的文件如下: 文件名字叫:access.log 如果在配置log4js的时候允许了同时存在多个备份log文件 ...

  2. Node.js log4js日志记录

    这次需要给之前弄的文件服务器添加日志记录,一般每天产生的日志会特别多所以安装日期来划分是最好的,这里我用了express框架,为了适应express框架这里在log.js文件中写了use方法. //日 ...

  3. nodejs使用log4js记录日志

    log4j是java里面最好用的日志记录插件,在.net上面也有移植log4j.net.同样也移植到了nodejs里面,多的不说,把自测通过的代码粘出来吧. var log4js = require( ...

  4. NodeJs之log4js

    log4js log4js是一个管理,记录日志的工具. 其实与morgan的作用类似. 安装 npm install -g log4js log4js的6个日志级别 分别是:trace(蓝色).deb ...

  5. Nodejs线上日志部署

    Nodejs 被越来越多的使用到线上系统中,但线上系统没有日志怎么行呢. 一.forever记录日志 我的线上系统使用forever来启动服务,最开始就直接使用了forever来记录 forever ...

  6. log4js日志

    安装log4js:npm install log4js express中配置log4js中间件: var log = require("./modules/utils/logUtil.js& ...

  7. log4js日志配置问题

    http://blog.csdn.net/cdnight/article/details/50857268 在做项目中,我们的node日志采用的是log4js框架,使用文件方式存储,但在后面的需求中增 ...

  8. nodejs简单http日志存储

    nodejs实现简单http日志存储 /* 日志存储: 202.189.63.115 - - [31/Aug/2008:15:42:31 +0800] "GET / HTTP/1.1&quo ...

  9. nodejs(log4js)服务中应用splunk进行Log存储、搜索、分析、监控、警告

    标题党,等博主这个月的知识库上传之后再来更新博文

随机推荐

  1. python之迭代器与生成器

    python之迭代器与生成器 可迭代 假如现在有一个列表,有一个int类型的12345.我们循环输出. list=[1,2,3,4,5] for i in list: print(i) for i i ...

  2. P2347 砝码称重-DP方案数-bitset

    P2347 砝码称重 DP做法 : 转化为 01背包. 进行方案数 更新.最后统计种类. #include<bits/stdc++.h> using namespace std; #def ...

  3. 自己总结的C#编码规范--4.注释篇

    注释 注释毫无疑问是让别人以最快速度了解你代码的最快途径,但写注释的目的绝不仅仅是"解释代码做了什么",更重要的尽量帮助代码阅读者对代码了解的和作者一样多. 当你写代码时,你脑海里 ...

  4. webpack打包之有依赖es2015模块

    一.入口文件main.js import { isDepend } from './depend.js'; import { fn } from './depend2.js'; if(isDepend ...

  5. django-debug-toolbar和Django 日志配置

    django-debug-toolbar介绍 django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息. gith ...

  6. BZOJ.4897.[Thu Summer Camp2016]成绩单(区间DP)

    BZOJ 显然是个区间DP.令\(f[l][r]\)表示全部消掉区间\([l,r]\)的最小花费. 因为是可以通过删掉若干子串来删子序列的,所以并不好直接转移.而花费只与最大最小值有关,所以再令\(g ...

  7. Java笔记(十二) 文件基础技术

    文件基础技术 一.文件概述 一)基本概念 1.文件的分类: 1)文本文件:文件中每个二进制字节都是某个可打印字符的一部分.如.java文件 2)二进制文件:文件中每个二进制字节不一定用来表示字符,也可 ...

  8. wget用法汇总

    wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能和特点: (1)支持断点下传功能:这一点,也是网络蚂蚁和F ...

  9. 最长公共子序列-LCS问题 (LCS与LIS在特殊条件下的转换) [洛谷1439]

    题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列. 输入 第一行是一个数n, 接下来两行,每行为n个数,为自然数1-n的一个排列. 输出 一个数,即最长公共子序列的长度 输入样例 5 ...

  10. shiro入门教程

    一.shiro入门 shiro.ini和log4j.properties要放在src下面,lib是和src同级别的,然后lib下面的jar包是必须的,lib下面的jar包需要add path,如果报错 ...