java日志——修改日志管理器配置+日志本地化
生活随笔
收集整理的這篇文章主要介紹了
java日志——修改日志管理器配置+日志本地化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【0】README
0.1) 本文描述+源代碼均 轉自 core java volume 1, 旨在理解 java日志——修改日志管理器配置+日志本地化 的相關知識;
【1】修改日志管理器配置
1.1)可以通過編輯配置文件來修改日志系統的各種屬性。 在默認情況下, 配置文件存在于:
e/lib/logging.properties
- 1.1.1)要想使用另一個配置文件, 就要將 java.util.logging.config.file 特性設置為配置文件的存儲位置, 并用下列命令啟動應用程序:
java -Djava.util.logging.config.file=configFile MainClass
Warning)在main方法中調用 System.setProperty(“java.util.logging.config.file”, file) 沒有任何影響, 其原因是 日志管理器 在VM 啟動過程中被初始化, 它會在main之前執行;
1.2)要想修改默認的日志記錄級別, 就需要要編輯配置文件, 并修改命令行
.level=INFO
- 1.2.1)可以通過 添加 以下內容來指定自己的日志記錄級別
com.company.myapp.level=FINE (也就是說, 在日志記錄名后面添加后綴 .level) - 1.2.2)日志記錄并不將消息發送到控制臺上,這是處理器的任務;如果要想在控制臺上看到 FINE 級別的消息, 就需要進行一下設置:
java.util.loggeing.ConsoleHandler.level=FINE
Warning)
- W1)在日志管理器配置的屬性設置不是系統屬性, 因此, 用 -Dcom.mycompany.myapp.level=FINE 啟動應用程序不會對日志記錄產生任何影響;
1.3)日志屬性文件由 java.util.logging.LogManager 類處理:
- 1.3.1)可以通過將 java.util.logging.manager 系統屬性設置為某個子類的名字 來 指定一個不同的日志管理器;
- 1.3.2)在保存標準日志管理器的同時, 還可以從 日志屬性文件跳過初始化;
- 1.3.3)還有一種方式, 是將 java.util.logging.config.class 系統屬性設置為某個類名, 該類在通過其他方式設定日志管理器屬性;
Attention) 在運行的程序中, 使用 jconsole 程序 也可以 改變日志記錄 的級別;
【2】本地化
2.1)本地化的應用程序包含資源包中的本地特定信息。 資源包由各個地區(如美國或德國)的映射集合組成;
- 2.1.1)一個程序可以包含多個資源包: 一個用于菜單, 其他用于日志消息;
- 2.1.2)要想將映射添加到一個資源包中, 需要為每個地區創建一個文件。英文消息映射位于 com/mycompany/logmes_en.properties, 德文消息位于 com/mycompany/logmes_de.properties文件中;
- 2.1.3)可以將這些文件與應用程序的類文件放在一起, 以便 ResourceBundle 類自動地對它們進行定位。 這些文件都是 純文本文件, 組成如下:
2.2)在請求日志記錄器時, 可以指定一個資源包:
Logger logger = Logger.getLogger(loggerName, "com.mycompany.logmes");- 2.2.1)然后, 為日志消息指定資源包的關鍵字, 而不是實際的日志消息字符串;
logger.info(“readingFile”); - 2.2.2)通常需要 在 本地化的消息中添加一些參數, 因此,消息應該包括占位符{0}, {1} 等。 例如, 要想在日志消息中包含文件名, 就應該使用下列方式包括占位符:
- 2.2.3)然后, 通過調用下面的一個方法向占位符傳遞具體的值:
總結
以上是生活随笔為你收集整理的java日志——修改日志管理器配置+日志本地化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信电脑版聊天记录恢复软件(恢复微信聊天
- 下一篇: intro to Apache Log4