我有一个带有 Spring Boot 应用程序的自定义 docker 镜像,我已将其部署到 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>
最佳答案
你的 log4j2.xml 配置看起来不错。您可以分享您的容器镜像让我试用吗?
关于java - 在 Azure 应用服务中访问 Tomcat 和 Webapp 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58292616/