最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Express進(jìn)階之log4js實(shí)用入門指南

 更新時(shí)間:2018年02月10日 14:09:35   作者:程序猿小卡的博客  
本篇文章主要介紹了Express進(jìn)階之log4js實(shí)用入門指南,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

對(duì)于線上項(xiàng)目用來(lái)說(shuō),日志是非常重要的一環(huán)。log4js是使用得比較多的一個(gè)日志組件,經(jīng)常跟Express一起配合使用。本文從入門實(shí)例開(kāi)始,講解log4js的使用,以及如何跟Express進(jìn)行整合。

入門例子

輸出日志如下,包括日志打印時(shí)間、日志級(jí)別、日志分類、日志內(nèi)容。

// 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

日志級(jí)別

logger.setLevel('INFO'); 表示想要打印的最低級(jí)別的日志是 INFO ,也就是說(shuō),調(diào)用類似 logger.debug() 等級(jí)別低于 INFO 的接口,日志是不會(huì)打印出來(lái)的。

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

日志類別

除級(jí)別外,還可以對(duì)日志進(jìn)行分類, 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指定日志輸出的位置,可以同時(shí)配置多個(gè),用category進(jìn)行區(qū)分。比如 log4js.getLogger('info') 應(yīng)用的就是 type 為 dateFile 的配置。

可以注意到, type 為 console 的配置沒(méi)有聲明 category ,因此,所有的日志都會(huì)打印到控制臺(tái)。

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應(yīng)用

一個(gè)比較簡(jiǎn)單的例子如下,日志全部打印到控制臺(tái)。

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'); // 級(jí)別 > INFO 的日志才會(huì)被打印

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

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

app.listen(3000);

訪問(wèn) 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) 時(shí),可以聲明日志的級(jí)別。

// 級(jí)別 > INFO 的日志才會(huì)被打印
logger.setLevel('INFO'); 

// 日志的級(jí)別是 WARN 
app.use( log4js.connectLogger(logger, {level: 'WARN'}) );

注意,如果聲明的日志級(jí)別低于 logger.setLevel(level) 限定的級(jí)別,那么日志不會(huì)被打印,如下例子。

logger.setLevel('INFO'); 

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

相關(guān)鏈接

官網(wǎng):https://github.com/nomiddlename/log4js-node

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • nodejs處理tcp連接的核心流程

    nodejs處理tcp連接的核心流程

    這篇文章主要介紹了nodejs處理tcp連接的核心流程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • nodejs微信公眾號(hào)支付開(kāi)發(fā)

    nodejs微信公眾號(hào)支付開(kāi)發(fā)

    這篇文章主要為大家詳細(xì)介紹了nodejs微信公眾號(hào)支付開(kāi)發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • node.js中的fs.fsyncSync方法使用說(shuō)明

    node.js中的fs.fsyncSync方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.fsyncSync方法使用說(shuō)明,本文介紹了fs.fsyncSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node中使用es6/7/8(支持性與性能)

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

    這篇文章主要介紹了node中使用es6/7/8(支持性與性能),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Node.js使用第三方插件nodemailer實(shí)現(xiàn)郵件發(fā)送示例

    Node.js使用第三方插件nodemailer實(shí)現(xiàn)郵件發(fā)送示例

    這篇文章主要為大家介紹了Node.js使用第三方插件nodemailer實(shí)現(xiàn)郵件發(fā)送示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Node.js Buffer用法解讀

    Node.js Buffer用法解讀

    這篇文章主要介紹了Node.js Buffer用法解讀,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • node.js入門實(shí)例helloworld詳解

    node.js入門實(shí)例helloworld詳解

    這篇文章主要介紹了node.js入門實(shí)例helloworld,較為詳細(xì)的講述了node.js簡(jiǎn)單輸出示例helloworld的實(shí)現(xiàn)代碼與運(yùn)行方法,需要的朋友可以參考下
    2015-12-12
  • 提升node.js中使用redis的性能遇到的問(wèn)題及解決方法

    提升node.js中使用redis的性能遇到的問(wèn)題及解決方法

    本文中提到的node redis client采用的基于node-redis封裝的二方包,因此問(wèn)題排查也基于node-redis這個(gè)模塊。接下來(lái)通過(guò)本文給大家分享提升node.js中使用redis的性能
    2018-10-10
  • Windows上安裝Node-RED的實(shí)現(xiàn)

    Windows上安裝Node-RED的實(shí)現(xiàn)

    Node-RED是一個(gè)用于物聯(lián)網(wǎng)編程的工具,提供了一個(gè)基于瀏覽器的編程環(huán)境和豐富的節(jié)點(diǎn)類型,本文就來(lái)介紹一下Windows上安裝Node-RED的實(shí)現(xiàn),感興趣的可以了解一下
    2025-02-02
  • node.js實(shí)現(xiàn)為PDF添加水印的示例代碼

    node.js實(shí)現(xiàn)為PDF添加水印的示例代碼

    這篇文章主要介紹了node.js實(shí)現(xiàn)為PDF添加水印的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12

最新評(píng)論

平乐县| 九江市| 昭平县| 阿克陶县| 金川县| 香港 | 敦化市| 碌曲县| 民乐县| 汕尾市| 北川| 武平县| 巍山| 阳西县| 南和县| 永州市| 交口县| 丹寨县| 海原县| 东乡| 西贡区| 柏乡县| 闽侯县| 双峰县| 武穴市| 沙河市| 巴南区| 丰都县| 凤凰县| 启东市| 崇礼县| 乐昌市| 绥中县| 宝兴县| 贵溪市| 阿图什市| 德保县| 蒙城县| 东城区| 新源县| 沅陵县|