Java 記錄日志


 

Java9的日志級別:

ALL  最低級別,系統會輸出所有的日志信息,會生成大量的·、冗余的日志

TRACE  輸出系統的各種跟蹤信息,會生成大量的·、冗余的日志

DEBUG  輸出調試信息,會生成較多的日志

INFO  輸出系統提示用戶的信息

WARNING  輸出警告信息

ERROR  輸出錯誤信息  

OFF  關閉日志輸出(不記錄日志)

以上級別由低到高。

 

設置日志級別為某一級時,低於該級別的日志都不會輸出,只輸出該級別、高於該級別的日志。

 

示例:

 1 package test;
 2 
 3 import java.io.IOException;
 4 import java.util.logging.FileHandler;
 5 import java.util.logging.Level;
 6 import java.util.logging.Logger;
 7 
 8 public class Test{
 9        public static void main(String[] args) throws IOException {
10               //設置使用a.xml文件保存日志,會在項目的根目錄下生成一個a.xml文件來保存日志。也可指定其他目錄。
11               // "fkjava"是特定的字符串。
12               Logger.getLogger("fkjava").addHandler(new FileHandler("a.xml"));
13               //設置日志級別為WARNING,低於WARNING的日志都會被忽略
14               Logger.getLogger("fkjava").setLevel(Level.WARNING);
15               //使用System的靜態方法獲取System.Logger對象,用於輸出日志
16               System.Logger logger=System.getLogger("fkjava");
17               //輸出一條日志,第一個參數設置此條日志的級別,第二個參數為String,設置要輸出的日志信息。
18               // 由於DEBUG低於設置的WARNING,所以此條日志會被忽略(不會被輸出到a.xml文件)
19               logger.log(System.Logger.Level.DEBUG,"debug信息");
20               //debug、run時,會在控制台輸出此條日志,“警告:warning信息",冒號后面是第二個參數的內容
21               //同時會輸出此條日志到a.xml文件中
22               logger.log(System.Logger.Level.WARNING,"warning信息");
23               logger.log(System.Logger.Level.ERROR,"error信息");
24        }
25 }

 

debug/run,控制台輸出如下:

D:\jdk-12.0.1\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:52275,suspend=y,server=n -javaagent:C:\Users\chy\.IntelliJIdea2019.1\system\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -classpath "D:\瘋狂Java講義\untitled\out\production\untitled;C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.1\lib\idea_rt.jar" test.Test
Connected to the target VM, address: '127.0.0.1:52275', transport: 'socket'
Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
5月 14, 2019 2:20:35 上午 test.Test main
警告: warning信息
5月 14, 2019 2:20:35 上午 test.Test main
嚴重: error信息
Disconnected from the target VM, address: '127.0.0.1:52275', transport: 'socket'

Process finished with exit code 0

 

a.xml文件記錄的日志如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
  <date>2019-05-13T18:20:35.025273100Z</date>
  <millis>1557771635025</millis>
  <nanos>273100</nanos>
  <sequence>0</sequence>
  <logger>fkjava</logger>
  <level>WARNING</level>
  <class>test.Test</class>
  <method>main</method>
  <thread>1</thread>
  <message>warning信息</message>
</record>
<record>
  <date>2019-05-13T18:20:35.164415700Z</date>
  <millis>1557771635164</millis>
  <nanos>415700</nanos>
  <sequence>1</sequence>
  <logger>fkjava</logger>
  <level>SEVERE</level>
  <class>test.Test</class>
  <method>main</method>
  <thread>1</thread>
  <message>error信息</message>
</record>
</log>

 

日志根元素為<log>

一條日志的根元素為<record>

日志登記為<level>

日志信息為<message>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM