2017-01-19 6 views
2

Я использую Spring с Spring boot. Недавно, пытаясь разобраться с EhCache, я попытался включить ведение журнала для EhCache. Установка уровня журнала в application.properties с:Spring Framework application.properties vs logback.xml

logging.level.org.springframework.cache: DEBUG 

Это не имело никакого эффекта. Поэтому я столкнулся с методом, позволяющим вести журнал, используя «logback». Теперь мне нужно поставить конфигурацию ведения журнала в файл logback.xml.

Мой вопрос в том, как конфигурация осуществляется весной? Действительно ли logback.xml имеет приоритет над application.properties? Есть ли способ использовать только одну конфигурацию? Или application.properties или logback.xml? В чем смысл двух конфигураций?

Edit: Позже я узнал, чтобы включить ведение журнала Ehcache, мне нужно добавить эту строку в моих application.properties:

logging.level.net.sf.ehcache: DEBUG 
+1

Свойства ведения журнала предоставляются Spring Boot: https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html#howto-logging Итак, если у вас есть логин. xml (или собственный config, если вы используете другой бэкэнд ведения журнала), он будет иметь приоритет. И если у вас есть logback.xml, вам не нужно иметь 'logging.level.net.sf.ehcache: DEBUG' в application.properites. Просто определите регистратор в logback.xml –

ответ

0

Да. Вы можете сделать часть регистрации, используя только одну конфигурацию logback.xml И используя тег <springProperty>, вы можете использовать свойства 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> 

Ref

0

Logback будет выглядеть в пути к классам для logback_test.xml файлов, то logback.xml, если он не может найти первый.

Предполагая, что вы используете maven, вам ничего не нужно в вашем файле свойств. Обычно logback.xml в src/main/resources и logback_test.xml в src/test/resources.

Вам потребуется выполнение Logback и апи, как правило, в вашем ПОМ вам это нужно:

<!-- 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 конфигурации будет подобран.

См. http://logback.qos.ch/manual/configuration.html для конфигурации журнала.

Смежные вопросы