我正试图将属性从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>