简介
根据npm的介绍,log4js-node是一个用于node日志分析的模块,目前最新版本为3.0.6,支持如下功能:
- 支持使用不同颜色标记和打印日志;
- 文件类型的日志输出源,并可通过配置支持基于文件大小或日期进行日志回滚;
- 支持日志分级和日志分类;
- 可配置的日志信息模式;
log4js目前支持的日志输出源包括:
- SMTP(Simple Mail Transfer Protocol, 简单邮件传输协议)以邮件形式发送日志;
- GELF ( Graylog Extended Log Format,graylog扩展日志格式),能够规避传统的系统级日志的未压缩、1024字节长度限制、无数据类型等缺点;它只依赖于node的udp模块支持,可以通过udp协议发送日志到兼容gelf的服务器;
- File 将日志输出到指定文件;
- console 将日志打印到控制台;
- redis 将日志事件存储到redis数据库;
安装
npm install log4js
日志分级和分类
日志分级
log4js的日志分为9个等级,从低到高依次为:
- ALL
- TRACE
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
- MARK
- OFF
日志分类
通过为不同的模块设置对应的日志类型,可以更容易的查看日志的来源;并且可以用于日志过滤和处理等;
基本使用
var log4js = require('log4js');
var logger = log4js.getLogger();
logger.level = 'debug';
logger.debug('this is a debug log');
more usage
var log4js = require('log4js');
log4js.configure({
appenders: {test: {
type: 'console',
}},
categories: {default: {appenders: ['test'], level: 'error'}}
})
var logger = log4js.getLogger('test');
logger.level = 'warn';
logger.debug('debug...');
logger.info('info...');
logger.warn('warn...');
logger.error('error...');
console.log('start...')
控制台输出
上边的例子使用了log4js的配置,设置了日志类型、日志级别及输出源;