问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请教log4js 配置

发布网友 发布时间:2022-05-02 18:25

我来回答

3个回答

懂视网 时间:2022-05-15 03:01

本篇文章主要介绍了Express进阶之log4js实用入门指南,现在分享给大家,也给大家做个参考。

对于线上项目用来说,日志是非常重要的一环。log4js是使用得比较多的一个日志组件,经常跟Express一起配合使用。本文从入门实例开始,讲解log4js的使用,以及如何跟Express进行整合。

入门例子

输出日志如下,包括日志打印时间、日志级别、日志分类、日志内容。

// started.js
var log4js = require('log4js');
var logger = log4js.getLogger();
logger.debug('hello world');

// 
输出: // [2017-02-28 21:28:22.853] [DEBUG] [default] - hello world

日志级别

logger.setLevel('INFO'); 表示想要打印的最低级别的日志是 INFO ,也就是说,调用类似 logger.debug() 等级别低于 INFO 的接口,日志是不会打印出来的。

var log4js = require('log4js');
var logger = log4js.getLogger();
logger.setLevel('INFO');

logger.debug('level: debug');
logger.info('level: info');
logger.error('level: error');

// 
输出如下: // [2017-02-28 21:50:45.372] [INFO] [default] - level: info // [2017-02-28 21:50:45.376] [ERROR] [default] - level: error

日志类别

除级别外,还可以对日志进行分类, log4js.getLogger(category) ,如下所示

var log4js = require('log4js');
var alogger = log4js.getLogger('category-a');
var blogger = log4js.getLogger('category-b');

alogger.info('hello');
blogger.info('hello');

// 
输出如下: // [2017-02-28 22:36:57.570] [INFO] category-a - hello // [2017-02-28 22:36:57.574] [INFO] category-b - hello

appenders

appenders指定日志输出的位置,可以同时配置多个,用category进行区分。比如 log4js.getLogger('info') 应用的就是 type 为 dateFile 的配置。

可以注意到, type 为 console 的配置没有声明 category ,因此,所有的日志都会打印到控制台。

var log4js = require('log4js');

log4js.configure({
 appenders: [
 { type: 'console'},
 { type: 'dateFile', filename: './logs/info.log', category: 'info' }
 ]
});

var logger = log4js.getLogger('info');
logger.setLevel('INFO');

logger.trace('trace');
logger.debug('debug');
logger.info('info');

// 
输出如下: // [2017-02-28 22:51:30.723] [INFO] info - info

express应用

一个比较简单的例子如下,日志全部打印到控制台。

var express = require('express');
var log4js = require('log4js');
var app = express();

log4js.configure({
 appenders: [
 { type: 'console', category: 'app' }
 ]
});

var logger = log4js.getLogger('app');

logger.setLevel('INFO'); // 级别 > INFO 的日志才会被打印

app.use( log4js.connectLogger(logger) );

app.use(function(req, res, next){
 res.send('ok');
});

app.listen(3000);

访问 http://127.0.0.1:3000 ,打印日志如下

[2017-03-01 00:28:29.301] [INFO] app - ::ffff:127.0.0.1 - - "GET / HTTP/1.1" 304 - "" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"

log4js.connectLogger(logger) 时,可以声明日志的级别。

// 级别 > INFO 的日志才会被打印
logger.setLevel('INFO'); 

// 日志的级别是 WARN 
app.use( log4js.connectLogger(logger, {level: 'WARN'}) );

注意,如果声明的日志级别低于 logger.setLevel(level) 限定的级别,那么日志不会被打印,如下例子。

logger.setLevel('INFO'); 

app.use( log4js.connectLogger(logger, {level: 'DEBUG'}) );

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

如何解决Vue不能检测数组或对象变动方面问题?

在vue中将对象新增的属性添加到检测序列的方法有哪些?

在JS中如何生成随机数(详细教程)

热心网友 时间:2022-05-15 00:09

log4js总体来说有三种配置方式,1)直接使用函数调用的方式,渐进地配置日志;2)提供一个配置对象,通过该对象一次性配置;3)提供一个配置文件,通过配置文件一次性配置。当然2、3两种配置之后,还可以通过函数调用方式进行修改。

热心网友 时间:2022-05-15 01:27

up to the fall.etimes a bure
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么考经纪人 如何去除白墙上的彩笔字 消除墙上彩笔的小妙招 保健器械 淘宝:淘宝网上卖的medex护腰,护膝,护腕 等医疗器械、是不是... 淘宝上有卖沃尔康护腰的吗?有链接吗? 跪求 黄家强 清唱吧《海阔天空》 96年、黄家强唱的祝你愉快,海阔天空在哪可以下载? 黄家强1996年唱的海阔天空MP3哪有下载啊? 朱关田作品 书画名家朱关田 朱关田代表作 【欣赏 价格 图片 鉴定... 用肝病冷藏食品比用冰好的理由是 杜长明相关成果 Java log4文件配置如下,为何在console下可以输出日志,而输出的日志中没有info等相关信息? 狗急跳墙稳观生肖是什么 node.js 怎么使用log4js 无心插柳柳成阴,东成西就万事通,夜观天相寻肆季,狗急跳墙稳观特。答一动物 生产环境中node日志用什么比较好?log4js 狗急跳墙稳观特指的是什么生肖 求狗急跳墙稳观特是何生肖 nodejs log4js category这个属性有什么用 狗急跳墙稳观特什么生肖? log4js报错是为什么 微信不小心退出登录了,不记得,怎么登录? 狗急跳墙稳观特指什么生肖? node用log4js输出日志能输出行号,和具体文件名吗 微信不小心退出登录了,不记得,怎么登录? 微信用好好的怎么突然退出,在登就登不上,显示在新手机登录微信 分红除权后 企业付出红利 股票价格下降 而投资者只得到分红那么股票下降腾出的资金哪里去了? 三聚氰胺事件后 蒙牛 特仑苏 还能不能喝? 请问蒙牛、伊利纯牛奶含有三聚氰胺吗? 是不是所有的牛奶都有三聚氰胺哪些没有 有哪些牛奶被曝光 狗急跳墙代表什么生肖 生产环境中node日志用什么比较好?log4js?winston nodejs, log4js为什么生成的日志文件是空的。。 nodejs日志用什么做最好 狗急跳墙稳观特,猜一生肖? 九酷音乐网站里的歌曲怎么下载拜托各位了 3Q Node.js 真的有高并发优势么 log4j和log4js的区别 九酷音乐网的歌曲怎么下载? 电动车碟刹的工作原理是什么? 电动车前碟刹是由什么原理形成的? 我是vivo手机怎么按装和使用上海交通卡 电动车后刹车是鼓刹,不换电机能装碟刹吗? vivo手机上捆绑的上海交通卡为何不能刷卡? 电动车碟刹油缸返回原理 vivo X21如何开通上海交通卡APP? 电动车的液压碟刹是什么原理 上海交通卡紫色怎样安装在vivox30pro手机上 电动车前面碟刹手把有个触点是什么工作原理 vivo y31可以使用上海公交卡吗