我在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>
答案 0 :(得分:0)
我认为您的问题应该使用标签中的scope =“ context”来解决。