簡體   English   中英

如何控制第三方庫中的日志記錄

[英]How do I control logging in 3rd party libraries

我有一個運行基於Spring的servlet的Tomcat服務器。

我已經設置了[project root]/src/log4j.properties文件,如下所示:

# Root logger option
log4j.rootLogger=WARN, stdout

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p %d{HH:mm:ss} %m [%c{3}:%L]%n

log4j.logger.com.martincarney.bugTracker=DEBUG
log4j.logger.com.martincarney.bugTracker.controller=ERROR

這正確地記錄了我自己的代碼,但似乎對我正在使用的各種庫中的日志記錄沒有任何影響。 例如,即使我將log4j.logger.org.apache=WARN添加到我的log4j.properties,我仍然會在Tomcat啟動期間從org.apache.*獲取INFO日志到Eclipse控制台錯誤流。

我正在使用通過Maven獲得的slf4j-apislf4j-log4j罐子。

如何控制我自己的代碼之外的日志記錄級別和目標?

一些庫使用其他日志框架,如java.util.logging

您可以使用SLF4J重定向日志記錄,請參閱SLF4J - 橋接舊版API

Jakarta Commons Logging的重定向:

為了便於從JCL遷移到SLF4J,SLF4J發行版包括jar文件jcl-over-slf4j.jar 此jar文件旨在作為JCL 1.1.1版的替代品。 它實現了JCL的公共API,但在下面使用了SLF4J,因此名稱為“JCL over SLF4J”。

java.util.Logging重定向( SLF4J API ):

通過logging.properties配置文件安裝:

//將SLF4JBridgeHandler注冊為jul根記錄器的處理程序

handlers = org.slf4j.bridge.SLF4JBridgeHandler

有關java.util.Logging配置,請參閱JUL API

Apache CXF等一些庫支持多個日志框架,請參閱Apache CXF - 調試和日志記錄

暫無
暫無

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

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