了解log4j2配置文件的一部分

时间:2018-10-31 09:43:37

标签: java logging log4j2

我能够通过XML理解log4j2的配置,但是当我们通过属性文件进行配置时,我有些困惑。

[1]
[[                   1]
 [                   1]
 [                   2]
 [                   3]
 [                   5]
 [                   8]
 [                  13]
 [                  21]
 [                  34]
 [                  55]
 [                  89]
 [                 144]
 [                 233]
 [                 377]
 [                 610]
 [                 987]
 [                1597]
 [                2584]
...

在第1行中,我们在两个地方使用1. appender.console.type = Console 2. appender.console.name = STDOUT 3. appender.console.layout.type = PatternLayout ,那么哪一个真的告诉我我想使用consoleConsoleAppender代表什么呢?我知道在XML中,我们将appender.console指定为附加类型,并使用Console属性为其命名,以便稍后可以在name元素中引用它。

1 个答案:

答案 0 :(得分:0)

appender.console控制台中是此组件的标识符。它与XML配置中的name属性相同。

对于您而言,您还可以通过以下方式实现相同的配置:

appender.foo.type = Console
appender.foo.name = STDOUT
appender.foo.layout.type = PatternLayout

有关更多信息,请参见the docs

appenderer.foo.name属性的用途是什么?
docs for appenders声明“ Appender总是有一个名称,以便可以从Logger中引用它们。”。对于每个Logger,您必须引用至少一个附加程序,以便将Logmessage写入某个位置。使用您先前定义的名称。

在您的示例中,您将添加器添加到记录器中,如下所示:

rootLogger.level = info
rootLogger.appenderRef.stdout.ref = STDOUT