gpt4 book ai didi

json - 使用 JSON 配置 log4j2

转载 作者:行者123 更新时间:2023-12-05 01:13:57 26 4
gpt4 key购买 nike

我有以下 log4j2 的简单配置,它只是将消息记录到控制台 stdout 和一个文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<RandomAccessFile name="FILE" fileName="app.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
</RandomAccessFile>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n" />
</Console>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="FILE" />
<AppenderRef ref="STDOUT" />
</Root>
</Loggers>
</Configuration>

它工作正常,但是如果我更改为 JSON 配置,如果不起作用,是否有人有任何线索?
{ "configuration": 
{
"appenders": {
"RandomAccessFile": { "name": "FILE", "fileName": "app.log",
"PatternLayout": { "pattern": "%d %p %c{1.} [%t] %m%n" }
},
"Console": { "name": "STDOUT",
"PatternLayout": { "pattern": "%m%n" }
}
},
"loggers": {
"root": { "level": "trace",
"AppenderRef": { "ref": "STDOUT" },
"AppenderRef": { "ref": "FILE" }
}
}
}
}

最佳答案

log4j2 JSON(或任何与此相关的 JSON)不允许存在两个“AppenderRef”条目,因此您应该使用更类似于以下的配置

{ "configuration":
{
"appenders": {
"RandomAccessFile": { "name": "FILE", "fileName": "app.log",
"PatternLayout": { "pattern": "%d %p %c{1.} [%t] %m%n" }
},
"Console": { "name": "STDOUT",
"PatternLayout": { "pattern": "%m%n" }
}
},
"loggers": {
"root": { "level": "trace",
"AppenderRef": [
{ "ref": "STDOUT" },
{ "ref": "FILE" }
]
}
}
}
}

您还可以使用 'appender-ref' 而不是 AppenderRef

关于json - 使用 JSON 配置 log4j2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21037694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com