【发布时间】:2018-08-21 17:34:49
【问题描述】:
这是我第一次在 spring 中使用日志记录,我在 maven 项目根目录的 config 文件夹中获得了一个 logback-spring.xml。我的项目中还有 3 个模块,并且所有三个模块的 src/main/resource 路径中都有相同的 logback-spring.xml 文件。
例如。 在 projectStar/config/logback-spring.xml 我有属性:
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %p %m%n</pattern>
</encoder>
<file>${LOG_FILE}</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.zip</fileNamePattern>
<maxFileSize>2KB</maxFileSize>
<maxHistory>2</maxHistory>
</rollingPolicy>
</appender>
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE"/>
</root>
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE"/>
</root>
在 projectStar/server/src/main/resource/logback-spring.xml 中有属性:
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %p %m%n</pattern>
</encoder>
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
<maxFileSize>1KB</maxFileSize>
<maxHistory>2</maxHistory>
</rollingPolicy>
</appender>
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE"/>
</root>
<root level="INFO">
<appender-ref ref="FILE"/>
</root>
还有一个 yaml 文件,其中也有如下属性:
logging:
level:
org.springframework.web: DEBUG
file: log/a.log
config: classpath:logback-spring.xml
现在,当我运行项目服务器时,它不会从配置 logback 文件中覆盖属性,而是从服务器资源 logback 文件中获取。 它给了我文件
a.log.2018-04-06-21.0.txt
但我需要文件
a.log.2018-04-06-21.0.zip
文件。 我希望我的日志必须是 zip 格式并且大小为 2 KB(如 config/logback-spring.xml 文件中所述),无论我在其他模块中提供什么。它总是首先从配置 logback 中获取,如果没有找到,则进入其他模块内部。
【问题讨论】:
标签: java spring logging logback properties-file