node中使用log4js4.x版本记录日志的方法

node中使用log4js4.x版本记录

const log4js = require('log4js');
log4js.configure({
  appenders: {
    logFile: {  //文件形式打印日志
      type: "dateFile",
      filename: '../logs/project',//写入日志文件的路径
      alwaysIncludePattern: true,//(默认为false) - 将模式包含在当前日志文件的名称以及备份中
      //compress: true,//(默认为false) - 在滚动期间压缩备份文件(备份文件将具有.gz扩展名)
      pattern: "-yyyy-MM-dd.log",//(可选,默认为.yyyy-MM-dd) - 用于确定何时滚动日志的模式。格式:.yyyy-MM-dd-hh:mm:ss.log
      encoding: 'utf-8',//default "utf-8",文件的编码
      maxLogSize: 1024*1024, //文件最大存储空间,当文件内容超过文件存储空间会自动生成一个文件xxx.log.1的序列自增长的文件
      backups: 3,
     },
    logConsole: {  //控制台打印日志
      type: 'console'
    }
  },
  categories: {
    default: {  //默认使用打印日志的方式
      appenders: ['logFile'], // 指定为上面定义的appender,如果不指定,无法写入
      level: 'all'       //打印日志的级别
    },
    logFile: {
      appenders: ['logFile'],
      level: 'all'
    },
    logConsole: {
      appenders: ['logConsole'],
      level: log4js.levels.ALL
    }
  }
});
module.exports = log4js.getLogger('logFile');  //使用文件输出方式打印日志

使用方式如下

const logger = require('../models/logger'); //上面配置的log4js地址
logger.info('hello word')

总结

以上所述是小编给大家介绍的node中使用log4js4.x版本记录日志的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

(0)

相关推荐

  • Node.js与Sails ~项目结构与Mvc实现及日志机制

    本文首先从sails的安装讲起接下来介绍node.js与Sails的日志机制,小伙伴们已经迫不及待要看下文了吧,好吧. Sails是一个Node.js的中间件架构,帮助我们很方便的构建WEB应用程序,网址:http://www.sailsjs.org/,它主要是在Express框架的基础上发展起来的,扩展了新的功能组件,下面我们来看一下安装方法 一 安装Sails npm -g install sails 二 建立一个Sails的项目 sails new testProject 三 启动项目 c

  • Node.js利用debug模块打印出调试日志的方法

    前言 大家都知道在node程序开发中时,经常需要打印调试日志.用的比较多的是debug模块,比如express框架中就用到了.下文简单举几个例子进行说明.文中相关代码示例,可在这里找到. 备注:node在0.11.3版本也加入了util.debuglog()用于打印调试日志,使用方法跟debug模块大同小异. 基础例子 首先,安装debug模块. npm install debug 使用很简单,运行node程序时,加上DEBUG=app环境变量即可. /** * debug基础例子 */ var

  • Node.js 日志处理模块log4js

    log4js 是 Node.js 日志处理中的数一数二的模块.比起 console 或者 TJ 的 debug 有其优势,尤其针对投入生产的 Node.js 项目来说下面这些是不可少的: 日志分级 日志分类 日志落盘 本文将会给你一个 log4js 的全面介绍,让你可以在项目中驾轻就熟的使用 log4js,开发调试容易,线上更好地监控或排查问题. 牛刀小试 下面这三行代码为你展示了 log4js 最简单的用法: // file: simplest.js var log4js = require(

  • node错误处理与日志记录的实现

    node项目中的错误处理 node中Error对象的使用 使用captureStackTrace方法加入自带的错误信息 // Error对象自带的属性 Error.captureStackTrace // 如何使用captureStackTrace var obj = { message: 'something is wrong' } Error.captureStackTrace(obj) throw obj // 此时会抛出obj对象的message内信息 使用try catch捕获错误 直

  • Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)

    今天,抽空了浏览了下node.js ,哈哈,看了一篇入门的文章(http://www.nodebeginner.org/index-zh-cn.html),自我感觉是入门了,不过里面一句话,挺有感悟: 复制代码 代码如下: 不过,这些毕竟都是前端技术,尽管当想要增强页面的时候,使用jQuery总让你觉得很爽,但到最后,你顶多是个JavaScript用户,而非JavaScript开发者.然后,出现了Node.js,服务端的JavaScript,这有多酷啊?于是,你觉得是时候该重新拾起既熟悉又陌生的

  • Node.js和MongoDB实现简单日志分析系统

    在最近的项目中,为了便于分析把项目的日志都存成了JSON格式.之前日志直接存在了文件中,而MongoDB适时闯入了我的视线,于是就把log存进了MongoDB中.log只存起来是没有意义的,最关键的是要从日志中发现业务的趋势.系统的性能漏洞等.之前有一个用Java写的分析模块,运行在Tomcat下.实现相当的重量级,添加一个新指标的流程也比较繁琐,而且由于NFS的原因还导致分析失败.一直想改写,最初想用Ruby On Rails,可是一直没有时间学习和开发(在找借口啊!).在杭州QCon 201

  • node中使用log4js4.x版本记录日志的方法

    node中使用log4js4.x版本记录 const log4js = require('log4js'); log4js.configure({ appenders: { logFile: { //文件形式打印日志 type: "dateFile", filename: '../logs/project',//写入日志文件的路径 alwaysIncludePattern: true,//(默认为false) - 将模式包含在当前日志文件的名称以及备份中 //compress: tru

  • node中使用es5/6以及支持性与性能对比

    前言 这几年react.vue的快速发展,越来越多的前端开始讲es6的代码运用在项目中,因为我们可以通过babel进行转译为低版本的js以便于运行在所有浏览器中,import.export.let.箭头函数等等,对于node端,当然我们也希望使用这些高级语法,但是需要提前了解到node支持哪些新的语法. 分类 所有的es6特性被分成了三个阶段/分类: shipping --- v8引擎可以支持的很好,默认情况下我们是不需要设立任何的flag而可以直接运行的. staged --- 这些是将要完成

  • 深入理解Node中的buffer模块

    在Node.ES2015出现之前,前端工程师只需要进行一些简单的字符串或DOM操作就可以满足业务需要,所以对二进制数据是比较陌生.node出现以后,前端面对的技术场景发生了变化,可以深入到网络传输.文件操作.图片处理等领域,而这些操作都与二进制数据紧密相关. Node里面的buffer,是一个二进制数据容器,数据结构类似与数组,数组里面的方法在buffer都存在(slice操作的结果不一样).下面就从源码(v6.0版本)层面分析,揭开buffer操作的面纱. 1. buffer的基本使用 在No

  • Node中使用ES6语法的基础教程

    相关背景介绍 我们现在大多数人用的语法javascript 其实版本是ecmscript5,也是就es5.这个版本己经很多年了,且完美被各大浏览器所支持.所以很多学js的朋友可以一直分不清楚es5和javscript的关系.javascript是一门编程语言,那么它就会有版本,es5还是es6 就就是它的版本号.最新版es7己经在紧锣密布的进行中,它最新的语法会让我们写代码更新的行云流水. 引言 Node本身已经支持部分ES6语法,但是import export,以及async await(No

  • node中实现删除目录的几种方法

    由于删除目录只能删除空目录(如果有子文件或文件夹要先删除) 目录结构算是典型的二叉树模型,所以涉及到遍历树结构 二叉树遍历(分为深度和广度,以及先序,中序,后序之分) 以下以深度先序解决目录删除 在node中由于主线程为单线程, 可以采取串行方式和并行方式 无论用什么方法删除,就一点核心: 如果是文件直接删除, 如果不是就删除所有子文件或子目录, 然后记得(一定记得删除自己) 深度先序(串行) 深度先序(串行 回调方式) const fs = require('fs') const path =

  • node中使用es6/7/8(支持性与性能)

    前言 这几年react.vue的快速发展,越来越多的前端开始讲es6的代码运用在项目中,因为我们可以通过babel进行转译为低版本的js以便于运行在所有浏览器中,import.export.let.箭头函数等等,对于node端,当然我们也希望使用这些高级语法,但是需要提前了解到node支持哪些新的语法. 分类 所有的es6特性被分成了三个阶段/分类: shipping --- v8引擎可以支持的很好,默认情况下我们是不需要设立任何的flag而可以直接运行的. staged --- 这些是将要完成

  • 小项目中管理npm包版本的思路与方法

    背景 笔者在最近碰到一个问题: 有一些项目没有类似jenkins的自动部署平台,前端部署都是本地执行npm run build命令生成压缩包,然后放到服务器上面,解压到nginx 目录, 但是有的时候遇到一个问题,比如项目中某个成员升级了其他组写的一个组件packageA,但是其他成员可能没有升级,导致上线后就会有一些问题,一个包还好,如果有好几个包都没有升级,那么可能导致一些意想不到的问题. 思路 首先就这个问题,我思考后有以下几个问题 package.json中的包名的版本有几个是用的^x.

  • Node.js 中的 fs 模块与Path模块方法详解

    概述: 文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集.可以通过调用 require("fs") 来获取该模块.文件系统模块中的所有方法均有异步和同步版本. 文件系统模块中的异步方法需要一个完成时的回调函数作为最后一个传入形参. 回调函数的构成由调用的异步方法所决定,通常情况下回调函数的第一个形参为返回的错误信息. 如果异步操作执行正确并返回,该错误形参则为null或者undefined.如果使用的是同步版本的操作方法,一旦出现错误,会以通常的抛出错误的形式返回

  • Node中的streams流的具体使用

    目录 Node中的streams流 转换流 创建 对象模式 最后 Node中的streams流 streams流是Node中的最好的特性之一.它在我们的开发过程当中可以帮助我们做很多事情.比如通过流的方式梳理大量数据,或者帮我们分离应用程序. 和streams流相关的内容有哪些呢?大致有这么几点: 处理大量数据 使用管道方法 转换流 读写流 解耦I/O 转换流 Node中的流其实是允许我们进行异步编程的.最常见的就是转换流,它就像是一个接收输入并且产生输出的大黑盒子. 举个例子: const t

  • Node中完整的 node addon 实现流程

    目录 背景介绍 为什么要写 node addon node addon 是什么 addon 实现方式的变迁 Chrome V8 API NAN 时代 符合 ABI 的 N-API 编码阶段 如何写出正确的 addon 逻辑 如何向外暴露方法 编译阶段 编译流程 结语 背景介绍 为什么要写 node addon 试想这样一种场景:我们想在 js 层实现某个业务场景,但是这套业务逻辑已经有存在的 C++ 版本了,这个时候我们有两个选择 重新实现一套在 JS 版本的业务场景 使用 node addon

随机推荐