章節十五、7- 配置檔案-Console Logging
一、建立xml檔案
1、建立xml檔案
在專案中我們需要專門建一個資料夾來放xml檔案或者是其它檔案。
2、然後對資料夾進行命名
3、選擇new 其它
4、選擇XML File
5、給xml檔案命名為log4j2.xml
6、建立成功
二、使用xml格式來定義配置檔案
開始寫標籤
1 <?xml version="1.0" encoding="UTF-8"?> 2 <Configuration> 3 <!-- appenders表示日誌存放的位置 --> 4 <Appenders> 5 <!-- 表示在控制檯上輸出資訊 --> 6 <Console name="Console"> 7 <!-- 設定我們需要輸出資訊,輸出的風格是怎麼樣的 --> 8 <PatternLayout 9 pattern="%d{HH:mm:ss.SSS} %-5level %c{1} -%msg%n%" /> 10 </Console> 11 </Appenders> 12 <Loggers> 13 <!-- 定義級別 --> 14 <Root level="info"> 15 <!-- 輸出日誌的目的地 --> 16 <AppenderRef ref="Console" /> 17 </Root> 18 </Loggers> 19 </Configuration>
注:
1、<Console name="Console">:name="Console"表示給“Console”取名字。
2、<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %c{1} -%msg%n%" />:
%d{HH:mm:ss.SSS} 表示輸出到毫秒的時間
%-5level 輸出日誌級別,-5表示左對齊並且固定輸出5個字元,如果不足在右邊補0
%c{1}表示輸出當前類名(填寫“2”,表示輸出該類的類名和所在包名。“3”表示輸出所在的包和所在包的上級包名)
%msg 日誌文字
%n 換行
其他常用的佔位符有:
%F 輸出所在的類檔名,如Client.java
%L 輸出行號
%M 輸出所在方法名
%l 輸出語句所在的行數, 包括類名、方法名、檔名、行數
3、<AppenderRef ref="Console" />:Console是<Appenders>的名字,表示輸出的目的地,這樣rootlog就會使用配置的<Appenders>來記錄log資訊。
三、日誌輸出
1、無配置檔案時控制檯的報錯資訊展示(紅色字型報錯提示找不到配置檔案):
2、有配置檔案輸出時資訊展示:
a、首先我們需要將配置檔案build一下
b、然後clean一下
c、執行程式碼
1 package log4jtutorial; 2 3 import org.apache.logging.log4j.LogManager; 4 import org.apache.logging.log4j.Logger; 5 6 public class LoggingConsole{ 7 8 // 首先需要定義一個log物件 9 // 定義成static final是因為只需要這一個例項,不能再有子類,多次呼叫的都是這一個例項,所以我們可以一直用這個物件來記錄日誌,不需要建立新的物件。 10 // .getLogger()方法返回的是一個Logger物件例項 11 // 括號裡面的引數用來記現在所在的類(LoggingDemo.class.getName()) 12 private static final Logger log = LogManager.getLogger(LoggingDemo.class.getName()); 13 14 public static void main(String[] args) { 15 log.debug("Debug message logged"); 16 log.error("Error message logged"); 17 log.fatal("Fatal message logged"); 18 19 } 20 }
d、執行程式碼(可以看出此次沒有紅色錯誤提示,證明配置日誌檔案成功)
注:
在程式碼中我們設定了列印“debug、error、fatal”,但控制檯實際卻只打印了“error、fatal”,這是因為我們在配置檔案中設定了只打印info級別以上的日誌,如果我們把“info”換成“trace”
就能夠將3個級別的日誌都打印出來。
更換級別後的列印結果:
如果有不明白的小夥伴可以加群“555191854”問我,群裡都是軟體行業的小夥伴相互一起學習。
內容具有連慣性,未標註的地方可以看前面的部落格,這是一整套關於ava+selenium自動化的內容,從java基礎開始。
歡迎關注,轉載請註明來源。
&n