Logback RollingFileAppender文件属性不识别springProperty值

时间:2018-05-14 10:32:49

标签: java spring-boot logback

我在Spring启动应用程序中遇到Logback配置问题。我已经定义了一些弹簧属性,它们从数据库动态加载它们的值,但是当我启动应用程序时,只有属性" log4j.adm.file"在标签"文件"不起作用。它创建了一个文件" log4j.adm.file_IS_UNDEFINED"在服务器的根路径中,但在标记" fileNamePattern"工作得很完美。

知道问题出在哪里?我附上了我的logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>

    

<springProperty name="logging.pattern.console" source="logging.pattern.console"/>

**<springProperty name="log4j.adm.file" source="log4j.adm.file"/>**
<springProperty name="log4j.adm.bck.number" source="log4j.adm.bck.number"/>
<springProperty name="log4j.adm.max.size" source="log4j.adm.max.size"/>
<springProperty name="log4j.adm.level" source="log4j.adm.level"/>

<appender name="FILE_ADMIN" class="ch.qos.logback.core.rolling.RollingFileAppender">
    **<file>${log4j.adm.file}</file>   ---> ERROR**
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        **<fileNamePattern>${log4j.adm.file}.%i</fileNamePattern>   --> OK**
        <minIndex>1</minIndex>
        <maxIndex>${log4j.adm.bck.number}</maxIndex>
    </rollingPolicy>

    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>50MB</maxFileSize>
    </triggeringPolicy>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            ${logging.pattern.console}
        </Pattern>
    </encoder>
</appender>

<logger name="org.xxxx.xxxx" level="${log4j.adm.nivel}" additivity="false">
    <appender-ref ref="FILE_ADMIN" />
</logger>

<root level="INFO">
    <appender-ref ref="CONSOLE" />
</root>

1 个答案:

答案 0 :(得分:0)

我认为您的问题应该使用标签中的scope =“ context”来解决。