簡體   English   中英

防止導入的庫使用我的日志配置文件

[英]Prevent imported libraries from using my logging-configuration file

惡意收購我的記錄器!!


TL:DR 導入的庫正在使用我的記錄器的logging.properties文件。

為了跟蹤我的項目中發生的所有事情,我使用java.utils.logging實現了一個自定義記錄器類,並帶有一個很好的簡單配置文件“ logging.properties ”:

handlers= java.util.logging.ConsoleHandler, java.util.logging.FileHandler
.level= ALL


java.util.logging.FileHandler.pattern = server/java/data/logs/myOwnLog%u.log
java.util.logging.FileHandler.limit = 20000
java.util.logging.FileHandler.count = 10
java.util.logging.FileHandler.formatter = server/java/src/main/java/controller/utils/logs/LineFormat.java

java.util.logging.ConsoleHandler.level = ALL



com.journaldev.files = SEVERE

現在添加它之后,出於某種原因,我導入的庫之一 - GraphStream開始使用我的配置文件。
這意味着我將他們的日志打印到我的控制台並保存在該位置的日志文件中,並使用我在配置文件中定義的名稱。

我認為可能與配置文件存在名稱沖突,但事實並非如此。

有任何想法嗎?



前 3 行是我的日志,其余的屬於GraphStream 前 3 行是我的日志,其余的屬於 GraphStream

這就是 Java 中日志記錄的工作方式:任何東西都可以嘗試寫入日志,並且如果您配置了它嘗試使用的日志記錄框架,您將收到它的消息。

停止查看消息第三方庫的方法是在您的日志配置中禁用它們(或者,禁用除您自己的類之外的所有內容),方法是更改​​它們報告的級別。

我不使用java.util.logging ,但通過閱讀文檔,您似乎可以包含這樣的配置行來關閉第三方包:

com.thirdparty.level = OFF

或者,將所有內容默認為OFF並將您的包設置為DEBUG

.level = OFF
com.mycompany.level=DEBUG

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM