目前,我有的logback配置文件即logback.xml 是src/main/resources.我想设置日志记录级别,但我希望在战争之外进行控制.
我能想到的一个解决方案是在属性文件中将其外部化,在服务器启动时加载它并替换占位符.有没有更好的方法呢?我们不能保持logback.xml战争档外?
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${catalina.base}/logs/logFile.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 7 days' worth of history -->
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE"/>
</root>
Run Code Online (Sandbox Code Playgroud)
如果您只想更改日志级别,则无需覆盖整个文件,您可以执行以下操作:
<root level="${log.level:-INFO}">
Run Code Online (Sandbox Code Playgroud)
然后,如果您设置系统属性:
-Dlog.level=DEBUG
Run Code Online (Sandbox Code Playgroud)
它将覆盖默认的"INFO".
小智 8
我建议你使用2个logback配置文件.类路径中的第一个定义为:
<configuration scan="true">
<property file="/otherfolder/project.properties" />
<include file="/otherfolder/logback.xml"/>
</configuration>
Run Code Online (Sandbox Code Playgroud)
然后将所有配置放在另一个配置中.Logback将扫描两个文件以获取更新.
| 归档时间: |
|
| 查看次数: |
15763 次 |
| 最近记录: |