如何在Log4j2中配置多Appender写入?配置报错求助
Log4j2多Appender配置错误修正
你的问题出在Log4j2的.properties配置格式和旧版Log4j完全不同,不能像老版本那样在单个配置项里用逗号分隔多个Appender名称。
你当前的写法rootLogger.appenderRef.root.ref=rolling,elastic会被Log4j2识别成一个名为rolling,elastic的Appender,而你并没有定义这个名称的Appender,所以才会报错。
正确的配置方式是给每个Appender单独配置一条rootLogger.appenderRef条目,示例如下:
appender.elastic.type=Elasticsearch appender.elastic.name=elastic appender.rolling.type=RollingFile appender.rolling.name=rolling # 分别配置两个Appender的引用 rootLogger.appenderRef.rolling.ref=rolling rootLogger.appenderRef.elastic.ref=elastic
也可以用数字序号来区分不同的引用,效果一样:
rootLogger.appenderRef.1.ref=rolling rootLogger.appenderRef.2.ref=elastic
这里的rolling、elastic或者数字1、2只是用来区分不同Appender引用的标识,只要不重复即可,每个引用对应你定义的Appender的name属性值。
内容的提问来源于stack exchange,提问作者mee
相关产品推荐
相关产品推荐

