我正在尝试在我的 Gradle
项目的 Log4j2.properties
中为 Failover
设置正确的配置。
这些是配置:
appenders = console, http, failover
rootLogger.level = debug
rootLogger.appenderRef.stdout.ref = STDOUT
rootLogger.appenderRef.http.ref = Http
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
appender.http.type = Http
appender.http.name = Http
appender.http.url = https://localhost:9200/test/log4j/
appender.http.method = POST
appender.http.layout.type = JsonLayout
appender.http.ignoreExceptions = false
appender.failover.type = Failover
appender.failover.name = Failover
appender.failover.primary = http
appender.failover.appenders = console
但是,当我运行该应用程序时,我收到此错误:
2019-12-29 00:28:41,701 main ERROR Failover contains an invalid element or attribute "appenders"
2019-12-29 00:28:41,702 main ERROR At least one failover Appender must be specified
2019-12-29 00:28:41,705 main ERROR Null object returned for Failover in Appenders.
我怀疑该错误与 Failovers
配置有关,我没有正确执行此操作,因为我不知道 Failovers AppenderRefs
的正确属性名称 .属性
格式
最佳答案
您可能需要添加以下属性。如果您仅为故障转移附加程序执行此操作,请使用下面的内容。您需要将appenderRef 添加到记录器而不是附加程序。这就是您可能收到错误的原因.
loggers=failover
logger.failover.name= #FailOverName
logger.failover.level = debug #or your desired logging level
logger.failover.appenderRefs = STDOUT
logger.failover.appenderRef.stdout.ref = STDOUT
关于java - Log4j2.properties 中的故障转移配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59514672/