我开始开发一个Eclipse插件(技术上,一个OSGi插件),我遇到的第一个问题之一就是我似乎无法像往常一样控制commons-logging输出.
我在插件依赖项中包含了commons-logging软件包,实际上,当我记录某些内容时(在INFO或更高的严重级别),它会被记录到控制台.但是,我似乎无法登录任何较低级别(例如DEBUG或TRACE).
我已经指定了一个log4j.properties文件,它位于类路径上(对于运行时,就像commons-logging软件包一样),但该属性文件中的所有设置都不会对记录器的行为产生任何影响.
这是log4j.properties文件:
# Log4j Logging levels, in order of decreasing importance are:
# FATAL, ERROR, WARN, INFO, DEBUG, TRACE
#
# Root logger option
log4j.rootLogger=ERROR,stdout
#,LOGFILE
# Direct log messages to stdout
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=%d{ABSOLUTE} %5p %r (%l) %t%n - %m%n
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能实际控制记录器的输出?
以下是一些示例输出消息,希望格式化可能与java.util.logging的默认值一致,或者向某人提供其他提示:
Oct 21, 2008 11:01:23 PM com.stottlerhenke.sentinel.client.Activator start
SEVERE: fatal_message
Oct 21, 2008 11:01:23 PM com.stottlerhenke.sentinel.client.Activator start
WARNING: warn_message
Oct 21, 2008 11:01:23 PM com.stottlerhenke.sentinel.client.Activator start
INFO: info_message
Run Code Online (Sandbox Code Playgroud)
更新:
我现在尝试了各种组合: