log4j的基本配置(log4j basic configuration)

2019-08-17 04:20发布

我使用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);

Answer 1:

我认为,最简单的方法是:

    Logger.getRootLogger().setLevel(Level.INFO);


Answer 2:

org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.INFO);


Answer 3:

假设你调用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>

其中一个必须是命令行。



Answer 4:

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> 


Answer 5:

如果你没有的属性文件中配置,使用:

Logger root = Logger.getRootLogger();
root.setLevel(Level.INFO);
root.addAppender(new ConsoleAppender(
        new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN)));


Answer 6:

什么BasicConfigurator.configure()做的是将根记录器到是ConsoleAppender和附加器布局设置为与图案 “%R [%T]%-5p%C - %M%N” 一个的PatternLayout。 所以,你需要设置根日志记录的级别。 如果只设置这一类的记录水平,根记录的水平不变,那么所有其他的记录器(除了这个类的)仍然可以使用根记录的水平,所以你仍然会看到不必要的日志。

见http://logging.apache.org/log4j/1.2/manual.html 。



文章来源: log4j basic configuration
标签: log4j