日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java日志——修改日志管理器配置+日志本地化

發布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 類自動地對它們進行定位。 這些文件都是 純文本文件, 組成如下:
readingFile=Achtung ! renamingFile=Datei wird umbenannt .....

2.2)在請求日志記錄器時, 可以指定一個資源包:

Logger logger = Logger.getLogger(loggerName, "com.mycompany.logmes");
  • 2.2.1)然后, 為日志消息指定資源包的關鍵字, 而不是實際的日志消息字符串;
    logger.info(“readingFile”);
  • 2.2.2)通常需要 在 本地化的消息中添加一些參數, 因此,消息應該包括占位符{0}, {1} 等。 例如, 要想在日志消息中包含文件名, 就應該使用下列方式包括占位符:
Reading file {0}. Achutng! Datei {0} wird eingelesen.
  • 2.2.3)然后, 通過調用下面的一個方法向占位符傳遞具體的值:
logger.log(Level.INFO, "readingFile", fileName); logger.log(Level.INFO, "renamingFile", new Object[]{oldname, newname});

總結

以上是生活随笔為你收集整理的java日志——修改日志管理器配置+日志本地化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。