您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Java中Log4j日志怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
我們知道,程序在運行過程中會產生很多很多信息,比如在幾點幾分的時候運行了,運行的結果是怎么樣的?為了我們更加了解程序運行的情況,可以通過日志來查看,日志可以在控制臺輸出,也可以輸出至指定的文件內,在下面的文章中具體的給大家介紹。
Log4J是Apache公司的開源項目,用于日志處理。下載地址:
https://logging.apache.org/log4j/2.x/download.html
下載完成后,我們可以得到一個后綴名為jre的包。
可以新建一個項目,然后在項目內新建一個lib包,把log4j.jar這個包放進去。
然后在src內創建一個類:
按照圖的步驟即可:
在這里把jre的包添加即可:
當完成上述操作后,即可在類里面建立對象:
注意:這里選擇的Logger包是要來自apache的包,這里一定不要選錯!
import org.apache.log4j.Logger; public class logTest { public static void main(String[] args) { //導入對象: Logger log = Logger.getLogger(logTest.class); log.error("用于記錄error級別的信息"); //記錄嚴重錯誤 log.warn("用于記錄warn級別的信息"); //記錄警告 log.info("用于記錄info級別的信息"); //記錄信息 log.debug("用于記錄debug級別的信息"); //記錄debug } }
接著我們需要創建配置文件:
新建一個文件file,文件后綴名一定要是properties
然后新建一個文件,名字可以設為:resources,并且把格式改為如下圖:
然后把剛剛建的配置文件放入這個文件內即可:
我們需要在log.properties內配置以下三個最要信息:
配置你的程序將什么級別的日志記錄到日志文件中
指定日志輸出的目的地,是將日志記錄到程序的控制臺(瞬時狀態的)還是在磁盤的某個文件中(持久化保存)
指定輸出到控制臺或者文件中的日志信息的輸出格式,或者說以什么樣的格式記錄這些日志信息。
設置的模板如下:
直接復制到log.properties內即可:
# 1.設置輸出級別info,可以將info以及更高級別的記錄到日志文件中,但其更低的比如debug級別就不會記錄到日志文件中
# stdout是設置的日志記錄的目的地(名字可以隨便起的當時要對應上)
log4j.rootLogger=info,stdout#2.設置日志記錄的目的地(ConsoleAppender是記錄到控制臺)
log4j.appender.stdout=org.apache.log4j.ConsoleAppender#3.設置記錄的格式或樣式(System.err是紅色樣式、System.out是黑色樣式)
log4j.appender.stdout.Target=System.err
# 設置記錄的格式
#PatternLayout是按照我們自定義規則布局 (%d %l %m %n就是指定的規則布局)
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %l %m %n
這個配置信息我們可以先不看,完成上面的配置,我們先運行一下上面的那段代碼:
如果出現這樣,說明是正確的。 我們重新寫一段代碼來看看這個日志的功能:
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("請輸入除數:"); int a = input.nextInt(); logger.debug("bug:輸入除數"+a); logger.info("info:輸入除數"+a); System.out.println("請輸入被除數:"); int b = input.nextInt(); logger.debug("bug:輸入除數"+b); logger.info("info:輸入除數"+b); int c = a/b; //把結果記錄到日志文件中 logger.debug("bug:結果"+c); logger.info("info:結果"+c); System.out.println("結果是:"+c); } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); }finally { System.out.println("程序結束!!"); } } }
這是一段除法的運算,先運行,看效果:
我們發現,我們在程序內執行的每一步,日志都記錄了下來,因為在配置文件內設置的是輸出至控制臺,所以直接在控制臺顯示了日志信息,如果需要輸出至指定文件,需要配置如下:
然后再運行除法的程序:
在控制臺沒有顯示日志信息了,因為已經設置成輸出至指定的文件內: 根據設置的路徑,我們可以看到:
這樣的記錄有時間信息,有程序名信息,還有在程序的第幾行發生了什么的信息全部被記錄了下來。 當然輸出的格式還有很多很多,可以根據需要去另外設置即可!
關于Log4j日志小應學長就講到這里,完成這些步驟,一個簡單的日志記錄就完成了,下面日志輸出的級別也需要注意。
日志的輸出等級:
1.off:最高等級,用于關閉所有日志記錄
2.fatal 指出每個嚴重的錯誤時間將會導致應用程序的退出
3.error 指雖然發送錯誤事件,但仍然不影響系統的運行
4.warn 指明會出現潛在的錯誤情形
5.info 一般用戶記錄程序的運行過程
6.debug 一般用于調試的信息記錄
7.all 最低級別,用于打開所有的日志記錄
感謝各位的閱讀!關于“Java中Log4j日志怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。