一、创建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. Codeforces 870C Maximum splitting (贪心+找规律)

    <题目链接> 题目大意: 给定数字n,让你将其分成合数相加的形式,问你最多能够将其分成几个合数相加. 解题分析: 因为要将其分成合数相加的个数最多,所以自然是尽可能地将其分成尽可能小的合数 ...

  2. C++ 中递归实现 二项式展开式(a+b)^ n 的表达式

    C++ 中递归实现 二项式展开式 的表达式 前几天,一个数学系读研的同学来问有什么软件可以来求 (a+b)^n 这种表达式类型的展开式,我随口一说了 Octave , 毕竟这个开源的还是可以的,后来他 ...

  3. asp.net core自定义模型验证——前端验证

    转载请注明出处:http://www.cnblogs.com/zhiyong-ITNote/ 官方网站:https://docs.microsoft.com/zh-cn/aspnet/core/mvc ...

  4. PAT (Advanced Level) Practise 1004 解题报告

    GitHub markdownPDF 问题描述 解题思路 代码 提交记录 问题描述 Counting Leaves (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 1600 ...

  5. 2018-6-25-随笔-MVC

    向IIS中注册.net框架版本:安装的IIS因为是先安装了VS所以它里面的应用程序池的.net框架还是系统自带的框架,Win7是2.0,需要将VS的.net框架版本注册 注册方法:在开始菜单找到VS2 ...

  6. php 通用数据库类

    <?php // 数据库连接类 class DB{ //私有的属性 private static $dbcon=false; private $host; private $port; priv ...

  7. PowerShell一次执行多条命令

    PowerShell一次执行多条命令语句 使用CMD之后换到PS之后想一次执行多条命令会很不习惯,因为原来的&&语句连接符已经不能用了. 在各种搜索后没有发现网上有说明这个的.无奈只能 ...

  8. [QTree6]Query on a tree VI

    Description: 给你一棵n个点的树,编号1~n.每个点可以是黑色,可以是白色.初始时所有点都是黑色.下面有两种操作请你操作给我们看: 0 u:询问有多少个节点v满足路径u到v上所有节点(包括 ...

  9. (转)nginx uwsgi wsgi django 这些东西究竟是什么关系

    有太多的文章告诉我们nginx uwsgi django 这些东西怎么用了,太多的人知道这些东西的怎么使用,怎么配置,怎么优化,但是还是有一部分人比如我这种水货不知道这些东西到底是啥,为啥一个项目的发 ...

  10. 关于js函数对象的理解

    js中函数和对象的关系: 什么是对象?根据W3C上面的解释JS中所有事物都是对象,对象是拥有属性和方法的数据,由此可以看出除了基 本值类型不是对象(number.string.Boolean.Unde ...