У меня есть собственный образ докера с приложением Spring Boot, который я развернул в реестре контейнеров Azure, и теперь он работает как служба приложений. Этот контейнер работает под управлением Tomcat 8.5, поэтому у меня есть журналы catalina.out
и мой собственный пользовательский файл webapp.log
, который создается в каталоге /usr/local/tomcat/logs
. Работая вне Azure в Docker-контейнере, я могу получать доступ и просматривать журналы.
Однако, развернутый в службе приложений, я не могу получить фактические файлы журналов, и единственное место, где я могу видеть журналы, находится в потоке журналов. Я использую log4j2 и имею соответствующий файл конфигурации.
Есть ли способ получить доступ к журналам Tomcat Catalina и Webapp? Можно ли направить файл webapp.log в /home/LogFiles/
для пользовательского контейнера ?
Я попытался использовать следующий log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Properties>
<Property name="filename">webapp.log</Property>
<Property name="path">$HOME\LogFiles</Property>
</Properties>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/>
</Console>
<File name="LOGFILE" fileName="${path}\${filename}">
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Logger name="appLogger" level="debug">
<AppenderRef ref="LOGFILE" level="debug"/>
</Logger>
<Root level="info">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>