溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java中Log4j日志如何用

發(fā)布時(shí)間:2023-05-06 09:28:14 來(lái)源:億速云 閱讀:115 作者:iii 欄目:編程語(yǔ)言

本文小編為大家詳細(xì)介紹“Java中Log4j日志如何用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Java中Log4j日志如何用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

下載:

Log4J是Apache公司的開(kāi)源項(xiàng)目,用于日志處理。

Java中Log4j日志如何用

下載完成后,我們可以得到一個(gè)后綴名為jre的包。

詳細(xì)步驟:

一、打開(kāi)IDEA

可以新建一個(gè)項(xiàng)目,然后在項(xiàng)目?jī)?nèi)新建一個(gè)lib包,把log4j.jar這個(gè)包放進(jìn)去。

Java中Log4j日志如何用

然后在src內(nèi)創(chuàng)建一個(gè)類(lèi):

Java中Log4j日志如何用

按照?qǐng)D的步驟即可:

Java中Log4j日志如何用

在這里把jre的包添加即可:

Java中Log4j日志如何用

二、創(chuàng)建日志對(duì)象

當(dāng)完成上述操作后,即可在類(lèi)里面建立對(duì)象:

注意:這里選擇的Logger包是要來(lái)自apache的包,這里一定不要選錯(cuò)!

Java中Log4j日志如何用

import org.apache.log4j.Logger;

public class logTest {

    public static void main(String[] args) {

        //導(dǎo)入對(duì)象:
        Logger log = Logger.getLogger(logTest.class);
        log.error("用于記錄error級(jí)別的信息"); //記錄嚴(yán)重錯(cuò)誤
        log.warn("用于記錄warn級(jí)別的信息");   //記錄警告
        log.info("用于記錄info級(jí)別的信息");   //記錄信息
        log.debug("用于記錄debug級(jí)別的信息"); //記錄debug
    }
}

接著我們需要?jiǎng)?chuàng)建配置文件:

新建一個(gè)文件file,文件后綴名一定要是properties

Java中Log4j日志如何用

然后新建一個(gè)文件,名字可以設(shè)為:resources,并且把格式改為如下圖:

Java中Log4j日志如何用

然后把剛剛建的配置文件放入這個(gè)文件內(nèi)即可:

Java中Log4j日志如何用

我們需要在log.properties內(nèi)配置以下三個(gè)最要信息:

  • 配置你的程序?qū)⑹裁醇?jí)別的日志記錄到日志文件中

  • 指定日志輸出的目的地,是將日志記錄到程序的控制臺(tái)(瞬時(shí)狀態(tài)的)還是在磁盤(pán)的某個(gè)文件中(持久化保存)

  • 指定輸出到控制臺(tái)或者文件中的日志信息的輸出格式,或者說(shuō)以什么樣的格式記錄這些日志信息。

設(shè)置的模板如下:

直接復(fù)制到log.properties內(nèi)即可:

# 1.設(shè)置輸出級(jí)別info,可以將info以及更高級(jí)別的記錄到日志文件中,但其更低的比如debug級(jí)別就不會(huì)記錄到日志文件中
# stdout是設(shè)置的日志記錄的目的地(名字可以隨便起的當(dāng)時(shí)要對(duì)應(yīng)上)
log4j.rootLogger=info,stdout

#2.設(shè)置日志記錄的目的地(ConsoleAppender是記錄到控制臺(tái))
log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#3.設(shè)置記錄的格式或樣式(System.err是紅色樣式、System.out是黑色樣式)
log4j.appender.stdout.Target=System.err
# 設(shè)置記錄的格式
#PatternLayout是按照我們自定義規(guī)則布局 (%d %l %m %n就是指定的規(guī)則布局)
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %l %m %n

這個(gè)配置信息我們可以先不看,完成上面的配置,我們先運(yùn)行一下上面的那段代碼:

Java中Log4j日志如何用

如果出現(xiàn)這樣,說(shuō)明是正確的。 我們重新寫(xiě)一段代碼來(lái)看看這個(gè)日志的功能:

import org.apache.log4j.Logger;

import java.util.Scanner;

public class test2 {
    public static void main(String[] args) {

        Logger logger = Logger.getLogger(test2.class);
        Scanner input = new Scanner(System.in);
        try{
            System.out.println("請(qǐng)輸入除數(shù):");
            int a = input.nextInt();
            logger.debug("bug:輸入除數(shù)"+a);
            logger.info("info:輸入除數(shù)"+a);
            System.out.println("請(qǐng)輸入被除數(shù):");
            int b = input.nextInt();
            logger.debug("bug:輸入除數(shù)"+b);
            logger.info("info:輸入除數(shù)"+b);
            int c = a/b;

            //把結(jié)果記錄到日志文件中
            logger.debug("bug:結(jié)果"+c);
            logger.info("info:結(jié)果"+c);
            System.out.println("結(jié)果是:"+c);

        } catch (Exception e) {
            e.printStackTrace();
            System.out.println(e.getMessage());
        }finally {
            System.out.println("程序結(jié)束?。?quot;);
        }
    }

}

這是一段除法的運(yùn)算,先運(yùn)行,看效果:

Java中Log4j日志如何用

我們發(fā)現(xiàn),我們?cè)诔绦騼?nèi)執(zhí)行的每一步,日志都記錄了下來(lái),因?yàn)樵谂渲梦募?nèi)設(shè)置的是輸出至控制臺(tái),所以直接在控制臺(tái)顯示了日志信息,如果需要輸出至指定文件,需要配置如下:

Java中Log4j日志如何用

然后再運(yùn)行除法的程序:

Java中Log4j日志如何用

在控制臺(tái)沒(méi)有顯示日志信息了,因?yàn)橐呀?jīng)設(shè)置成輸出至指定的文件內(nèi): 根據(jù)設(shè)置的路徑,我們可以看到:

Java中Log4j日志如何用

這樣的記錄有時(shí)間信息,有程序名信息,還有在程序的第幾行發(fā)生了什么的信息全部被記錄了下來(lái)。 當(dāng)然輸出的格式還有很多很多,可以根據(jù)需要去另外設(shè)置即可!

日志的輸出等級(jí):

1.off:最高等級(jí),用于關(guān)閉所有日志記錄
2.fatal 指出每個(gè)嚴(yán)重的錯(cuò)誤時(shí)間將會(huì)導(dǎo)致應(yīng)用程序的退出
3.error 指雖然發(fā)送錯(cuò)誤事件,但仍然不影響系統(tǒng)的運(yùn)行
4.warn 指明會(huì)出現(xiàn)潛在的錯(cuò)誤情形
5.info 一般用戶記錄程序的運(yùn)行過(guò)程
6.debug 一般用于調(diào)試的信息記錄
7.all 最低級(jí)別,用于打開(kāi)所有的日志記錄

讀到這里,這篇“Java中Log4j日志如何用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI