我使用Spring和Spring启动。最近在尝试使用EhCache时,我尝试为EhCache启用日志记录。使用以下命令在application.properties中设置日志级别:
logging.level.org.springframework.cache: DEBUG
没有效果。所以我遇到了一种使用' logback'启用日志记录的方法。现在我需要将日志配置放入文件logback.xml。
我的问题是如何在Spring中处理配置? logback.xml是否优先于application.properties? 有没有方法只使用一种配置? application.properties还是logback.xml? 有两种配置是什么意思?
编辑: 后来我发现,要启用EhCache日志记录,我需要在我的application.properties中添加这一行:
logging.level.net.sf.ehcache: DEBUG
答案 0 :(得分:0)
是。您只能使用一个配置logback.xml来执行日志记录部分
使用<springProperty>
标记,您可以在Logback文件中使用Spring Environment属性。
<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host"
defaultValue="localhost"/>
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
<remoteHost>${fluentHost}</remoteHost>
...
</appender>
答案 1 :(得分:0)
Logback将在类路径中查找文件logback_test.xml,如果找不到第一个,则返回logback.xml。
假设您正在使用maven,则您的属性文件中不需要任何内容。通常是src / main / resources中的logback.xml和src / test / resources中的logback_test.xml。
你需要实现logback和api,通常在你的pom中你需要这个:
<!-- API -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.22</version>
</dependency>
<!-- Implementation -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.8</version>
</dependency>
Ehcache将使用slf4j,因此您的logback配置将被选中。
有关logback config的信息,请参阅http://logback.qos.ch/manual/configuration.html。