Может ли Spring-boot файл application.properties проснуться с конфигурацией log4j2.xml? - PullRequest
0 голосов
/ 14 марта 2019

Я хочу определить высокоуровневую регистрацию файлов в application.properties для удобства использования моей конфигурации файла log4j2.xml. Сам по себе мой конфиг log4j2 работает нормально, однако я надеялся контролировать уровни ведения журнала, а также информацию о файле журнала и пути из файла application.properties У меня есть зависимость spring-boot-starter-log4j2 в pom-файле приложения.

В log4j2.xml у меня есть одно из свойств

<Property name="LOG_FILE">${LOG-DIR}/test.log</Property>

, где LOG-DIR определен в другом (предыдущем) свойстве в том же файле. В моем файле application.properties у меня есть

logging.file=LOG_FILE 

как свойство плюс несколько свойств уровня, таких как

logging.level.org.springframework.web=DEBUG

Ни одно из этих свойств, связанных с журналом, как определено в моем файле application.properties, не работает для создания соответствующего файла журнала. Опять же, когда я просто использую log4j2.xml, он работает нормально, но хотел воспользоваться удобством application.properties для настройки конфигурации журналов.

Любое понимание того, что я делаю неправильно, очень ценится. спасибо

1 Ответ

0 голосов
/ 15 марта 2019

Если я правильно понял ваш вопрос, вы смотрите на Подстановка свойства функция log4j2.

Вы можете определить свойство ведения журнала в application.properties файле, как показано ниже:

log.file.path=/myDir/logpath 

И тогда поиск свойства определен как Property в log4j2.xml:

<Configuration>  
  <Properties>  
      <property name="LOG_FILE">${bundle:application:log.file.path}</property> 
  </Properties>  

Теперь все свойства можно ссылаться в одном и том же log4j2.xml с пометкой ${propertyName}, который в конечном итоге указывает на значения из файла application.properties.

...