java - 在 Azure 应用服务中访问 Tomcat 和 Webapp 日志

标签 java azure spring-boot tomcat azure-web-app-service

我有一个带有 Spring Boot 应用程序的自定义 docker 镜像,我已将其部署到 Azure 容器注册表,现在它作为应用程序服务运行。这个容器正在运行 Tomcat 8.5,所以我有 catalina.out 日志和我自己的自定义 webapp.log 文件,它们正在 /usr/local/tomcat 中创建/logs 目录。在 Azure 之外的 docker 容器中运行,我可以访问和查看日志。

但是,部署在应用服务中我无法检索实际的日志文件,我唯一能看到日志的地方是日志流。我正在使用 log4j2 并且有一个正确的配置文件。 enter image description here

有没有办法访问 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/

相关文章:

java - 从 Azure IoT 接收文件上传通知时出错

c# - Restful Web 服务中的 URL

Java&JDA - 发送没有任何事件的消息

c# - 无法从组织网络发布 Azure Web 应用程序

Azure APIM 作为纯代理

集成后,Azure Web 应用程序请求不通过 VNET

java - 在@Transactional方法调用期间,初始化期间Bean属性不为null

java - 我不允许在 switch case [Android] 中传递资源文件中的字符串

java - 如何使用 jackson API 重命名 JsonNode 中的字段

spring-boot - 如何通过java程序清理redis缓存?