您當前的位置:首頁 > 攝影

日誌技術(待更)

作者:由 陳許願 發表于 攝影時間:2022-07-01

日誌技術與輸出語句的區別

思考一個問題

想清楚的知道系統的一些執行情況,該怎麼辦?

以前透過輸出語句列印

日誌技術(待更)

輸出語句的弊端

想取消記錄的資訊需要修改程式碼才可以完成。

資訊只能展示在控制檯,不能將其記錄到其他的位置(檔案,資料庫)

什麼是日誌

生活中的日誌

生活中的日誌就好比日記,可以記錄你生活的點點滴滴。

程式中的日誌

程式中的日誌可以用來記錄程式在執行的時候點點滴滴。並可以進行永久儲存。

日誌與輸出語句的區別

輸出語句

日誌技術

取消日誌

需要修改程式碼,靈活性比較差

不需要修改程式碼,靈活性比較好

輸出位置

只能是控制檯

可以將日誌資訊寫入到檔案或資料庫中

多執行緒

和業務程式碼處於一個執行緒中

多執行緒方式記錄日誌,不影響業務程式碼的效能

日誌技術體系結構

日誌技術(待更)

Log4j

Log4j是Apache的一個開源專案。

透過Log4j,我們可以控制日誌資訊輸送

目的地是控制檯還是檔案

等位置。

我們也可以

控制

每一條

日誌

的輸出

格式

透過

定義

每一條

日誌

資訊的

級別

,我們能夠更加細緻地控制日誌的生成過程。

最令人感興趣的就是,這些可以透過一個

配置檔案

來靈活地進行配置,而不需要修改應用的程式碼。

Log4j開發流程

匯入Log4j的相關jar包

編寫Log4j配置檔案

在程式碼中獲取日誌的物件

按照級別設定日誌資訊

下面是Log4j入門程式碼

日誌技術(待更)

前置條件

package

com。itheima。demo1

//import org。apache。log4j。Logger;

import

org。slf4j。Logger

import

org。slf4j。LoggerFactory

public

class

Log4JTest01

{

//使用log4j的api來獲取日誌的物件

//弊端:如果以後我們更換日誌的實現類,那麼下面的程式碼就需要跟著改

//不推薦使用

// private static final Logger LOGGER = Logger。getLogger(Log4JTest01。class);

//使用slf4j裡面的api來獲取日誌的物件

//好處:如果以後我們更換日誌的實現類,那麼下面的程式碼不需要跟著修改

//推薦

private

static

final

Logger

LOGGER

=

LoggerFactory

getLogger

Log4JTest01

class

);

//這是第三步

public

static

void

main

String

[]

args

{

//1,匯入jar包

//2,編寫配置檔案

//3,在程式碼中獲取日誌的物件

//4,按照日誌級別設定日誌資訊

LOGGER

debug

“debug級別的日誌”

);

LOGGER

info

“info級別的日誌”

);

LOGGER

warn

“warn級別的日誌”

);

LOGGER

error

“error級別的日誌”

);

}

}

日誌技術(待更)

Log4j組成

Loggers(記錄器)

日誌的級別

Appenders(輸出源)

日誌要輸出的地方

Layouts(佈局)

日誌輸出的格式

Loggers(記錄器)

Loggers元件在此係統中常見的五個級別:

DEBUG、INFO、WARN、ERROR和FATAL

級別關係:DEBUG < INFO < WARN < ERROR < FATAL

Log4j有一個規則:

只輸出級別不低於設定級別的日誌資訊

比如我在配置檔案中設定INFO這個級別,則高於INFO本身及高於INFO級別的日誌資訊會輸出,低於INFO級別的DEBUG則不會輸出。

日誌技術(待更)

Appenders(輸出源)

把日誌輸出到不同的地方,如控制檯(Console)、檔案(Files)等。

org。apache。log4j。ConsoleAppender(控制檯)

org。apache。log4j。FileAppender(檔案)

日誌技術(待更)

Layouts(佈局)

可以根據自己的喜好來規定日誌輸出的格式

常用的佈局管理器:

ori.apache.log4j.PatternLayout(可以靈活地指定佈局模式)

ori。apache。log4j。SimpleLayout(包含日誌資訊的級別和資訊字串)

ori。apache。log4j。TTCCLayout(包含日誌產生的時間、執行緒、類別等資訊)

日誌技術(待更)

配置檔案詳解

配置檔案

日誌技術(待更)

標簽: 日誌  級別  輸出  log4j  程式碼