Nodejs日志管理包

  Nodejs日志管理工具包:log4js 和 winston

1、log4js的使用

  1)package.json中加入依赖

"log4js":"~0.6.21"

  2)写一个log4js的配置文件log4js_conf.json

{
  "appenders": [
    {
      "type": "console"
    },
    {
      "type": "file",
      "filename": "logs/access.log",
      "maxLogSize": 1024,
      "backups": 3,
      "category": "normal"
    }
  ]
}

  3)写一个工具类log4js-utils.js

var log4js = require(‘log4js‘);

/**
log4js.configure({
  appenders: [
    { type: ‘console‘ },
    { type: ‘file‘, filename: ‘logs/access.log‘, category: ‘normal‘ }
  ]
});

*/

log4js.configure(‘E:/Node/file-server/config/log4js_conf.json‘);

exports.logger = function(){
    var logger = log4js.getLogger(‘normal‘);//获取配置文件中category为normal的appender
    logger.setLevel(‘DEBUG‘);
    return logger;
}

  4)在其他需要使用日志的地方引入工具类

var logger = require(‘../utils/log4js-utils‘).logger();

exports.index = function(req,res) {
    logger.debug(‘debug‘);
    logger.info(‘info‘);
    logger.warn(‘warn‘);
    logger.error(‘error‘);
    res.send(‘ok‘);
}

  

2、winston

  winston的使用也很简单,不多说。

var winston = require(‘winston‘);

exports.logger = new (winston.Logger)({
    transports: [
      new (winston.transports.Console)(),
      new (winston.transports.File)({ filename: ‘logs/all.log‘ })
    ],
    exceptionHandlers: [
      new winston.transports.File({ filename: ‘logs/exceptions.log‘ })
    ],
    exitOnError:false
});
var logger = require(‘../utils/winston-utils‘).logger;

exports.index = function(req,res) {
    logger.log(‘error‘, "log");
      logger.info("info");
      logger.warn("warn");
      logger.error("error");
    res.send(‘ok‘);
}
时间: 2024-10-14 06:39:35

Nodejs日志管理包的相关文章

玩转Nodejs日志管理log4js(转)

转自:http://blog.fens.me/nodejs-log4js/ 前言 日志对任何的应用来说都是至关重要的.在Nodejs中使用express框架并没有自带的日志模块,我们可以选择log4js来完成日志记录的功能. 如果用过JAVA中log4j的同学,肯定对日志并不陌生,学习log4js会更得心应手的. 文章目录: 默认的控制台输出 通过log4js输出日志 配置log4js与express框架集成 根据项目配置log4js 优化log4js结构 1. 默认的控制台输出 我们使用exp

NodeJS日志管理 Log4js

简述: 记录配置nodejs-log4js日志输出 参考: http://cnodejs.org/topic/521ee22abee8d3cb12fc1f02 https://github.com/nomiddlename/log4js-node/wiki/Date%20rolling%20file%20appender 步骤: 1. 进入Express项目根路径, 下载log4js的库文件 [plain] view plaincopy npr install log4js 2. 配置log4j

nodejs日志管理log4js

常用的2种配置: 1.按文件大小分片,备份若干数量的文件 var log4js = require('log4js'); log4js.configure({ "appenders" : [ {"type" : "console"}, { "type" : "file", "filename" : "logs/app.log", "maxLogSize&qu

slf4j+logback搭建超实用的日志管理模块

文章转自http://www.2cto.com/kf/201702/536097.html slf4j+logback搭建超实用的日志管理模块(对日志有编号管理):日志功能在服务器端再常见不过了,我们非常有必要记录下发生在服务器上的活动,这些日志将用于debug.统计等各种用途. slf4j+logback这种实现方式是很常见的,好处自然是方便!.在这篇文章中,你将看到如何使用logback搭建你自己的日志组件并将日志输出到文件.如何查看这些文件.如何为每个线程上的访问分配独有的一个日志id.

一个NFS缓存管理包的bug导致文件系统满的问题和解决方法

这几天安装CentOS 6的虚拟机总是提示文件系统满,一开始以为是最近oracle经常操作大数据量提交导致undo tbs无限扩大,后来发现原来是NFS缓存管理包cachefilesd的问题.分享一下: 由于是测试虚拟机,文件系统懒得专门规划,只划分了一个根目录分区.(各位admin切记不要犯这种实际生产环境的大忌): [[email protected]* /]df -h Filesystem            Size  Used Avail Use% Mounted on /dev/m

linux 学习 14 日志管理

第十四讲 日志管理 14.1 日志管理-简介 1.日志服务 ?在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式其实都是和syslogd服务相兼容的,所以学习起来基本和syslogd服务一致. ?rsyslogd的新特点: ?基于TCP网络协议传输日志信息; ?更安全的网络传输方式: ?有日志消息的及时分析框架: ?后台数据库: ?配置文件中可以写简单的逻辑判断: ?与sysl

ABP日志管理

ABP日志管理 基于DDD的现代ASP.NET开发框架--ABP系列之8.ABP日志管理 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由东莞-天道提供翻译 Server side(服务器端) ASP.NET Boilerplate使用Castl

java程序日志管理

初入软件开发这一行的人,可能对日志管理的概念并不是很明确,大概是由于经验所限,以至于根本还考虑不到这个问题. 而从某种意义上来说,日志管理实际上也不需要初入这一行的人来管,他们只需要负责实现自己的主要业务逻辑和功能就好了. 我当初刚入行的时候就有很长一段时间完全不用去关心日志,到后来偶尔涉及到的时候,也都是从其他地方采用cv大法直接搬用. 不过,随着工作时间的变化,随着手头上任务重要程度的变化,也随着接触到的项目数量的变化,让我越来越意识到日志的重要性,它在整个系统中发挥着至关重要的作用! 尤其

基于DDD的现代ASP.NET开发框架--ABP系列之8、ABP日志管理

点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之8.ABP日志管理 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由东莞-天道提供翻译 Server side(服务器端) ASP.NET Boilerplat