<Loggers>
<!-- Apache Struts2 logger -->
<Logger name="org.apache.struts2" level="warn" additivity="false">
<AppenderRef ref="STDOUT"/>
<AppenderRef ref="RollingFile"/>
</Logger>
<!-- Spring logger -->
<Logger name="org.springframework" level="warn" additivity="false">
<AppenderRef ref="STDOUT"/>
<AppenderRef ref="RollingFile"/>
</Logger>
<!-- Root logger -->
<Root level="info">
<AppenderRef ref="STDOUT"/>
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
上面是log4j2.xml配置文件的片段,我想将其转换为属性。
问题是当我在同一个文件(属性)中定义多个记录器时,只有root记录器工作意味着改变其他记录器上的级别并没有做任何事情。
在同一属性配置文件中定义多个记录器的正确方法是什么?
编辑:
logger.rolling.name = org.apache.struts2
logger.rolling.level = warn
logger.rolling.name = org.springframework
logger.rolling.level = warn
rootLogger.level = info
rootLogger.appenderRef.stdout.ref = STDOUT
rootLogger.appenderRef.rolling.ref = RollingFile
rootLogger.appenderRef.rolling.fileName = ${filename}
这是我尝试过的属性配置,但它没有用。
答案 0 :(得分:1)
尝试以下配置 -
logger.rolling1.name = org.apache.struts2
logger.rolling1.level = warn
logger.rolling1.additivity = false
logger.rolling1.appenderRef.stdout.ref = STDOUT
logger.rolling1.appenderRef.rolling.ref = RollingFile
logger.rolling2.name = org.springframework
logger.rolling2.level = warn
logger.rolling2.additivity = false
logger.rolling2.appenderRef.stdout.ref = STDOUT
logger.rolling2.appenderRef.rolling.ref = RollingFile
rootLogger.level = info
rootLogger.appenderRef.stdout.ref = STDOUT
rootLogger.appenderRef.rolling.ref = RollingFile