我能够通过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
,那么哪一个真的告诉我我想使用console
,ConsoleAppender
代表什么呢?我知道在XML中,我们将appender.console
指定为附加类型,并使用Console
属性为其命名,以便稍后可以在name
元素中引用它。
答案 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