如何将SpringBoot属性加载到log4j.xml中



我正试图将属性从application.properties加载到我的log4j设置中。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug" strict="true" >
<Properties>
<Property name="dirname">${application:log.directory}</Property>
</Properties>
<Filter type="ThresholdFilter" level="debug"/>

<Appenders>
<Appender type="Console" name="STDOUT">
<Layout type="PatternLayout" pattern="%m%n"/>
<!-- 
<Filters>
<Filter type="MarkerFilter" marker="FLOW" onMatch="DENY" onMismatch="NEUTRAL"/>
<Filter type="MarkerFilter" marker="EXCEPTION" onMatch="DENY" onMismatch="ACCEPT"/>
</Filters>
-->
</Appender>
<Appender type="RollingFile" name="myapp" fileName="${dirname}/myapp.log" 
filePattern="${dirname}/myapp-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz" >
<Strategy type="DefaultRolloverStrategy" max="5" />
</Appender>

<Loggers>

<Logger name="mylogger" level="debug" additivity="false">
<AppenderRef ref="myapp"/>
</Logger>
<Root level="debug">
<AppenderRef ref="STDOUT"/>
<AppenderRef ref="myapp" />
</Root>
</Loggers>

</Configuration>

我的application.properties有设置

log.directory=C:/temp/log

它没有像我预期的那样工作。如何使其发挥作用?

我自己找到答案。将此设置放入log4j.xml

<Properties>
<Property name="dirname">${bundle:application:log.directory</Property>
</Properties>

最新更新