我使用log4j的登录我的应用程序的一些步骤。 为了快速和肮脏的,我用:
org.apache.log4j.BasicConfigurator.configure();
该输出我的日志在Eclipse控制台。
我想知道,如何比DEBUG设定水位阈值? 换句话说,我不想显示DEBUG级别的消息,只是ERR,WARN,INFO。
谢谢。
编辑:我可以用这个下面?
import org.apache.log4j.Logger;
import org.apache.log4j.Level;
[...]
Logger logger = Logger.getLogger(this.class);
logger.setLevel(Level.INFO);
我认为,最简单的方法是:
Logger.getRootLogger().setLevel(Level.INFO);
org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.INFO);
假设你调用BasicConfigurator.configure()的任何记录器调用之前:
您可以使用这些配置文件来改变它无需重新编译:
log4j.properties
log4j.rootLogger=INFO
的log4j.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<root>
<priority value="INFO"/>
</root>
</log4j:configuration>
其中一个必须是命令行。
1)寻找您的appender,你有前人的精力在你的log4j.xml配置文件,这样的事情。
<appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="C:/logs/rmDebug.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="1500KB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="**FOOBAR** %d{dd.MM.yyyy HH:mm:ss} %c %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
你看levelMin和LevelMax价值? levelMin是你开始登录,并levelMax,在那里你停下来登录。 (与此特定附加器)。 你可以有几个附加器。
然后分配此附加器类或包。 你可以做这样的事情:
<category name="com.foobar.automation.doremiResourceManager" additivity="true">
<appender-ref ref="DEBUG"/>
</category>
如果你没有的属性文件中配置,使用:
Logger root = Logger.getRootLogger();
root.setLevel(Level.INFO);
root.addAppender(new ConsoleAppender(
new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN)));
什么BasicConfigurator.configure()做的是将根记录器到是ConsoleAppender和附加器布局设置为与图案 “%R [%T]%-5p%C - %M%N” 一个的PatternLayout。 所以,你需要设置根日志记录的级别。 如果只设置这一类的记录水平,根记录的水平不变,那么所有其他的记录器(除了这个类的)仍然可以使用根记录的水平,所以你仍然会看到不必要的日志。
见http://logging.apache.org/log4j/1.2/manual.html 。