[英]How to configure writing to multiple Appenders in log4j2?
在 log4j2 之前
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ELASTIC=com.my.ElasticSearchAppender
log4j.rootLogger=FILE,ELASTIC # Works
日志4j2
appender.elastic.type=Elasticsearch
appender.elastic.name=elastic
appender.rolling.type=RollingFile
appender.rolling.name=rolling
rootLogger.appenderRef.root.ref=rolling,elastic # does not work
rootLogger.appenderRef.root.ref=rolling # works
rootLogger.appenderRef.root.ref=elastic # works
我收到以下錯誤。
Log4J Updater ERROR Unable to locate appender "rolling,elastic" for logger config "root"
難道我做錯了什么?
備注:您的 Log4j 1.x 配置不正確,因為根記錄器的配置必須以一個級別開頭,后跟零個或多個附加程序名稱,例如:
log4j.rootLogger=INFO, FILE, ELASTIC
自 2.17.2 版(參見LOG4J2-3341 )以來,Log4j2 屬性格式中提供了相同的速記符號:
rootLogger=INFO, file, elastic
完整的符號可以很容易地從更簡單的 XML 格式轉換:
<Root level="INFO">
<AppenderRef ref="file"/>
<AppenderRef ref="elastic"/>
</Root>
每個<AppenderRef>
元素都會產生一個appenderRef.<unique identifier>
屬性:
rootLogger.level = INFO
rootLogger.appenderRef.<0>.ref = file
rootLogger.appenderRef.<1>.ref = elastic
我解決了這個問題
rootLogger.appenderRefs=rolling,elastic
rootLogger.appenderRef.elastic.ref=elastic
rootLogger.appenderRef.rolling.ref=rolling
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.