[英]Commons logging to use java.util.logging
我正在嘗試使用公共日志記錄並希望使用 java.util.logging 作為底層機制。
日志測試程序
import org.apache.commons.logging.*;
public class LogTest {
public static void main(String args[]) {
System.setProperty("java.util.logging.config.file","log.properties");
Log logger = LogFactory.getLog(LogTest.class);
logger.trace("trace msg");
}
}
我有 src/main/resources/log.properties(我正在使用 maven 項目)
handlers=java.util.logging.ConsoleHandler
# Default global logging level.
# Loggers and Handlers may override this level
.level=ALL
我看不到任何輸出。 請告訴我如何以編程方式設置 log.properties 以利用 java 日志記錄。
您需要指定一個實現 Log 接口的記錄器。 在這種情況下, Jdk14Logger 。
查看如何將“Apache Commons Logging”與“Java SE Logging”結合使用? 更多細節。
除了來自鏈接:
將“
commons-logging.properties
”文件放在應用程序的類路徑中。 這個文件的內容應該是這樣的:org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
設置這個屬性會指示 Commons-Logging 使用 JDK Logger(即 Java SE Logger)作為日志執行。
然后將log-config.properties
放在您的類路徑中並進行相應配置。
在您的類路徑中創建commons-logging.properties :
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
在 Logger 實例之前設置java.util.logging.config.file :
System.setProperty("java.util.logging.config.file","log.properties");
然后 JDK 日志記錄將追加所有由 org.apache.commons.logging.* 使用的日志;
例如:spring、hibernate、struts 等。
# Loggers and Handlers may override this level
嘗試在 log.properties 中添加java.util.logging.ConsoleHandler.level=ALL
。
雖然 Snekse 的回答基本上是正確的,但有一點需要糾正/澄清:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.