为什么我们需要根记录器中的log4j.xml(why do we need root and log

2019-08-01 10:10发布

原谅如果问题是太微不足道了。 我完全新的log4j的。 我看到有两个标签和标签,这是指各种附加目的地。 说我要登录我的代码库中的信息文件,将它发送给我的电子邮件,并打印到控制台。 我想设置信息的级别。 不是它足有它有三个附加目的地?(文件,电子邮件和控制台)引用单个标签为什么我们需要另一个用于相同?

Answer 1:

这是不够的。

在log4j的一记录器被用包或有时与特定类别相关联。 包/班记录器是由“name”属性定义。 记录程序记录在其包装,并在所有的子包和他们班的消息。 唯一的例外是根记录器,它记录的消息在应用程序中的所有类。

甲记录器还具有电平,并且可以具有附接到其的一个或多个附加目的地(记录目的地)。

在下面的例子中,我们有两个记录器:

  • 根记录器记录与水平INFO或以上的所有包到各个目的地的消息:主机,电子邮件和文件,
  • “com.foo”记录器记录与级别的消息WARN及以上套餐“com.foo”及其子包到另一个文件。

     <log4j:configuration> <!-- Declaration of appenders FILE, MAIL, CONSOLE and ANOTHERFILE --> ... <!-- --> <logger name="com.foo"> <level value="warn"/> <appender-ref ref="ANOTHERFILE" /> </logger> <root> <priority value ="info" /> <appender-ref ref="FILE" /> <appender-ref ref="MAIL" /> <appender-ref ref="CONSOLE" /> </root> </log4j:configuration> 

你应该阅读更多关于log4j的基础知识。



文章来源: why do we need root and logger in log4j.xml
标签: log4j