中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在nodejs項目中使用log4js

發布時間:2021-03-24 17:34:34 來源:億速云 閱讀:576 作者:Leah 欄目:web開發

本篇文章為大家展示了如何在nodejs項目中使用log4js,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

安裝

npm install --save log4js

日志級別level

log4js的分為以下幾個級別,級別的順序也是按如下排列,logger只會打印大于等于logger對象設置的level的日志。

  • trace

  • debug

  • info

  • warn

  • error

  • fatal

簡單的用法

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

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

在node 環境運行上面的代碼之后發現在控制臺打印出了對應的日志信息,但是這跟我想要的完全不一樣,我想要的是根據我自己的想法將日志進行分類方便查找和統計。接下來我們就看如何對日志進行分類。

configure(string | object) 方法

通過調用configure 方法就可以實現我們對日志進行分類管理的目的。方法的參數可以是一個字符串或者是一個object 字符串參數被視為用于加載配置的文件名,配置文件是一個json 文件,也可以直接將配置對象傳給configure。

配置對象

本次只對配置對象中最常用的appenders 和categories 進行介紹,還有部分屬性暫時還沒有用到等用到的時候在進行補充,如果平常用的話這兩個屬性應該就夠了。

簡單的總結一下這兩個屬性,先有一個概念性的認識了解一下他們分別是干什么的。

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

categories 是用來定義日志輸出的規則然后調用之前定義好的 appenders 進行輸出

寫一個簡單的例子方便理解一下

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");

運行上的代碼將會創建application.log 文件在項目目錄下,同時會把日志打到控制臺和 application.log文件中.
上面定義了兩個appender 一個是輸出到 stdout 一個是輸出到 file ,可以看出appender主要使用來定義輸出位置的
同時在categories 中定義了一個規則,調用了appender中定義的輸出,并且輸出級別為 debug

appenders

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

file

file 日志將會輸出到指定的文件中。

例子

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日志文件的最大大小(以字節為單位)。如果未指定,則不會發生日志滾動。
4. backups日志滾動期間要保留的舊日志文件數默認為5
5. layout 默認是basic layout
6. keepFileExt boolean  默認為false 滾動日志文件時保留文件擴展名(file.log變為file.1.log而不是file.log.1)
7. compress 對滾動的日志文件進行壓縮

dateFile

dateFile 日志的滾動將根據配置的時間格式進行滾動而不是文件大小

例子

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(默認為.yyyy-MM-dd) - 用于確定何時滾動日志的模式。
4. layout 默認是basic layout
5. daysToKeep integer(默認為0) - 如果此值大于零,則在日志滾動期間將刪除早于該天數的文件。
6. keepFileExt (默認為false) - 在滾動日志文件時保留文件擴展名(file.log變為file.2017-05-30.log而不是file.log.2017-05-30
7. compress 對滾動的日志文件進行壓縮

categories

categories 也是一個map類型的數據,key是 category 的名字是一個字符串,value 是一個對象。

value 的常用屬性

  1. level 定義打印日志的級別

  2. appenders 定義打印的appender

getLogger([category]) 方法

getLogger 方法返回的是一個logger 對象,logger對象用來打印各個級別的日志。

getlogger 方法有一個可選參數category的名字,不寫的情況會使用 categories 中default 定義的規則進行打印,填寫之后會根據對應的 category定義的規則進行打印日志。

上述內容就是如何在nodejs項目中使用log4js,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐至县| 三原县| 玉龙| 兴安盟| 宣化县| 牟定县| 商河县| 石景山区| 商城县| 怀来县| 灵川县| 常熟市| 襄樊市| 陕西省| 宝兴县| 当雄县| 阿拉善右旗| 河源市| 于都县| 泰安市| 集贤县| 固安县| 礼泉县| 天峨县| 五河县| 侯马市| 高陵县| 唐河县| 通道| 罗平县| 漠河县| 陆丰市| 于都县| 景洪市| 微博| 桐柏县| 昌江| 襄汾县| 正安县| 玛纳斯县| 西乌珠穆沁旗|