欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs log4js 使用詳解

 更新時(shí)間:2019年05月31日 10:08:45   作者:曹飛龍  
這篇文章主要介紹了nodejs log4js 使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文章針對(duì) log4js v4.3

本文對(duì)自己用log4js的技術(shù)點(diǎn)簡單的做一個(gè)記錄,有一些技術(shù)點(diǎn)沒有用到或者寫全,會(huì)在后面用到的時(shí)候進(jìn)行更新。

先大概的對(duì)log4js 的基本用法做一個(gè)總結(jié),使用configure()方法對(duì)日志輸出進(jìn)行配置,使用 getlogger()方法獲取logger對(duì)象,然后使用logger 對(duì)象進(jìn)行打印各個(gè)級(jí)別的日志。其中比較復(fù)雜的是 configure()方法中的配置對(duì)象appenders 和 categories 下面重點(diǎn)講解這兩個(gè)對(duì)象

安裝

npm install --save log4js

日志級(jí)別level

log4js的分為以下幾個(gè)級(jí)別,級(jí)別的順序也是按如下排列,logger只會(huì)打印大于等于logger對(duì)象設(shè)置的level的日志。

  • trace
  • debug
  • info
  • warn
  • error
  • fatal

簡單的用法

var log4js = require('log4js');
var logger = log4js.getLogger();
logger.level = 'debug';
logger.debug("Some debug messages");

getLogger()方法返回一個(gè)logger對(duì)象,想對(duì)日志進(jìn)行記錄就必須使用logger對(duì)象,將logger對(duì)象的 level設(shè)置為debug(默認(rèn)為OFF不會(huì)輸出任何日志)

在node 環(huán)境運(yùn)行上面的代碼之后發(fā)現(xiàn)在控制臺(tái)打印出了對(duì)應(yīng)的日志信息,但是這跟我想要的完全不一樣,我想要的是根據(jù)我自己的想法將日志進(jìn)行分類方便查找和統(tǒng)計(jì)。接下來我們就看如何對(duì)日志進(jìn)行分類。

configure(string | object) 方法

通過調(diào)用configure 方法就可以實(shí)現(xiàn)我們對(duì)日志進(jìn)行分類管理的目的。方法的參數(shù)可以是一個(gè)字符串或者是一個(gè)object 字符串參數(shù)被視為用于加載配置的文件名,配置文件是一個(gè)json 文件,也可以直接將配置對(duì)象傳給configure。

配置對(duì)象

本次只對(duì)配置對(duì)象中最常用的appenders 和categories 進(jìn)行介紹,還有部分屬性暫時(shí)還沒有用到等用到的時(shí)候在進(jìn)行補(bǔ)充,如果平常用的話這兩個(gè)屬性應(yīng)該就夠了。

簡單的總結(jié)一下這兩個(gè)屬性,先有一個(gè)概念性的認(rèn)識(shí)了解一下他們分別是干什么的。

appenders 主要是用來定義以怎樣的方式輸出,輸出到哪里(主要功能不僅限于)

categories 是用來定義日志輸出的規(guī)則然后調(diào)用之前定義好的 appenders 進(jìn)行輸出

寫一個(gè)簡單的例子方便理解一下

const log4js = require('log4js');
log4js.configure({
 appenders: {
  out: { type: 'stdout' },
  app: { type: 'file', filename: 'application.log' }
 },
 categories: {
  default: { appenders: [ 'out', 'app' ], level: 'debug' }
 }
});

var logger = log4js.getLogger();
logger.debug("Some debug messages");

運(yùn)行上的代碼將會(huì)創(chuàng)建application.log 文件在項(xiàng)目目錄下,同時(shí)會(huì)把日志打到控制臺(tái)和 application.log文件中.
上面定義了兩個(gè)appender 一個(gè)是輸出到 stdout 一個(gè)是輸出到 file ,可以看出appender主要使用來定義輸出位置的
同時(shí)在categories 中定義了一個(gè)規(guī)則,調(diào)用了appender中定義的輸出,并且輸出級(jí)別為 debug

appenders

appenders 的是一個(gè)map, key 代表的是appender的名字是一個(gè)字符串,value里面有一個(gè)必選的屬性是type,根據(jù)type 的不同value 的格式也不一樣,下面我們說幾種常用的 type

file

file 日志將會(huì)輸出到指定的文件中。

例子

log4js.configure({
 appenders: {
  everything: { type: 'file', filename: 'all-the-logs.log' }
 },
 categories: {
  default: { appenders: [ 'everything' ], level: 'debug' }
 }
});

const logger = log4js.getLogger();
logger.debug('I will be logged in all-the-logs.log');

常用配置屬性

1. type:'file'
2. filename string 輸出文件的名字
3. maxLogSize integer日志文件的最大大?。ㄒ宰止?jié)為單位)。如果未指定,則不會(huì)發(fā)生日志滾動(dòng)。
4. backups日志滾動(dòng)期間要保留的舊日志文件數(shù)默認(rèn)為5
5. layout 默認(rèn)是basic layout
6. keepFileExt boolean  默認(rèn)為false 滾動(dòng)日志文件時(shí)保留文件擴(kuò)展名(file.log變?yōu)閒ile.1.log而不是file.log.1)
7. compress 對(duì)滾動(dòng)的日志文件進(jìn)行壓縮

dateFile

dateFile 日志的滾動(dòng)將根據(jù)配置的時(shí)間格式進(jìn)行滾動(dòng)而不是文件大小

例子

log4js.configure({
 appenders: {
  everything: { type: 'dateFile', filename: 'all-the-logs.log' }
 },
 categories: {
  default: { appenders: [ 'everything' ], level: 'debug' }
 }
});

常用配置屬性

1. type:'dateFile'
2. filename string 輸出文件的名字
3. pattern(默認(rèn)為.yyyy-MM-dd) - 用于確定何時(shí)滾動(dòng)日志的模式。
4. layout 默認(rèn)是basic layout
5. daysToKeep integer(默認(rèn)為0) - 如果此值大于零,則在日志滾動(dòng)期間將刪除早于該天數(shù)的文件。
6. keepFileExt (默認(rèn)為false) - 在滾動(dòng)日志文件時(shí)保留文件擴(kuò)展名(file.log變?yōu)閒ile.2017-05-30.log而不是file.log.2017-05-30
7. compress 對(duì)滾動(dòng)的日志文件進(jìn)行壓縮

categories

categories 也是一個(gè)map類型的數(shù)據(jù),key是 category 的名字是一個(gè)字符串,value 是一個(gè)對(duì)象。

value 的常用屬性

  1. level 定義打印日志的級(jí)別
  2. appenders 定義打印的appender

getLogger([category]) 方法

getLogger 方法返回的是一個(gè)logger 對(duì)象,logger對(duì)象用來打印各個(gè)級(jí)別的日志。

getlogger 方法有一個(gè)可選參數(shù)category的名字,不寫的情況會(huì)使用 categories 中default 定義的規(guī)則進(jìn)行打印,填寫之后會(huì)根據(jù)對(duì)應(yīng)的 category定義的規(guī)則進(jìn)行打印日志。

參考文檔 api

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

相關(guān)文章

  • 學(xué)習(xí)Nodejs之fs模塊的使用詳解

    學(xué)習(xí)Nodejs之fs模塊的使用詳解

    這篇文章主要為大家詳細(xì)介紹了Nodejs之fs模塊的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • nodejs腳本centos開機(jī)啟動(dòng)實(shí)操方法

    nodejs腳本centos開機(jī)啟動(dòng)實(shí)操方法

    在本篇文章里小編給大家整理的是關(guān)于nodejs腳本centos開機(jī)啟動(dòng)實(shí)操方法,有興趣的朋友們參考下。
    2020-03-03
  • node.js中的http.get方法使用說明

    node.js中的http.get方法使用說明

    這篇文章主要介紹了node.js中的http.get方法使用說明,本文介紹了http.get的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 詳解koa2學(xué)習(xí)中使用 async 、await、promise解決異步的問題

    詳解koa2學(xué)習(xí)中使用 async 、await、promise解決異步的問題

    這篇文章主要介紹了詳解koa2學(xué)習(xí)中使用 async 、await、promise解決異步的問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • Node.js圖片處理庫sharp的使用

    Node.js圖片處理庫sharp的使用

    這篇文章主要介紹了Node.js圖片處理庫sharp的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Node.js中console.log()輸出彩色字體的方法示例

    Node.js中console.log()輸出彩色字體的方法示例

    這篇文章主要給大家介紹了關(guān)于Node.js中console.log()輸出彩色字體的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Node.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • node.js做一個(gè)簡單的爬蟲案例教程

    node.js做一個(gè)簡單的爬蟲案例教程

    這篇文章主要介紹了node.js做一個(gè)簡單的爬蟲案例教程,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • node將對(duì)象轉(zhuǎn)化為query的實(shí)現(xiàn)方法

    node將對(duì)象轉(zhuǎn)化為query的實(shí)現(xiàn)方法

    本文主要介紹了node將對(duì)象轉(zhuǎn)化為query的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 一文詳解Node.js服務(wù)器動(dòng)態(tài)資源處理

    一文詳解Node.js服務(wù)器動(dòng)態(tài)資源處理

    動(dòng)態(tài)資源處理也就是對(duì)數(shù)據(jù)進(jìn)行重新排序來讀寫數(shù)據(jù)庫,讀取反序列化,寫入序列化,這篇文章主要來和大家聊聊Node.js中的服務(wù)器動(dòng)態(tài)資源處理,感興趣的可以了解下
    2024-04-04
  • Node連接mysql數(shù)據(jù)庫方法介紹

    Node連接mysql數(shù)據(jù)庫方法介紹

    本篇文章主要介紹了Node連接mysql數(shù)據(jù)庫方法介紹。詳細(xì)的介紹了怎樣連接和操作數(shù)據(jù)庫,并舉例說明,有興趣的可以了解一下。
    2017-02-02

最新評(píng)論