当前位置: 首页 > 知识库问答 >
问题:

Azure ApiApp中的Java日志记录

岳浩穰
2023-03-14

我需要一些帮助在Azure中记录Java应用:

1) 使用Azure作为PaaS,我创建了一个配置为使用Java8 Tomcat8的API应用程序。我正试图使用log4j2将应用程序日志记录与Tomcat日志(在一个单独的文件中)分开。据我所知,我有权限在D:\home中的任何地方写入。因此,我将尝试写入“d:\home\Logfiles\Application\”。因此,我创建了一个带有log4j2的Web应用程序,它在本地tomcat中运行良好。但是在Azure中运行相同的应用程序(使用正确的日志文件路径)时,我看不到任何日志。我甚至尝试填充/site/wwwroot/web。配置,如中所述https://azure.microsoft.com/en-us/documentation/articles/web-sites-java-custom-upload/这样也没有日志。如何在一个单独的文件中配置Java应用程序日志(而不将tomcat日志(JULI logger)更改为log4j)?

2) 查看tomcat日志,我意识到WebApp的启动/停止/重新启动并不意味着tomcat的启动/停止/重新启动,所以我们无法控制它?当我们在azure门户中为基于webcontainer的应用程序启动/停止/重新启动时,有人知道背后发生了什么吗?

3)什么是最好的方法来集中Java几个Web应用程序的日志记录?从log4j2使用JDBCAppender或JPAAppender?

提前谢谢

共有2个答案

鲁弘厚
2023-03-14

关于问题1、2

在“应用程序设置”中设置“始终打开”=“打开”解决了我的问题。

现在,即使是集中式的应用程序监视和日志也可以正常工作。

非常感谢:)

呼延聪
2023-03-14

如我所知,您有权在路径D:\home\site\内的任何位置写入,但不能在我测试的路径D:\home\中写入。因此,我建议您可以尝试在D:\home\site\中为应用程序日志配置指定的路径。

但是,对于日志持久性,我建议可以尝试使用Azure表存储进行应用程序日志记录。请参阅回答的SO线程使用Azure Blob存储与java MVC Azure Web Site了解。

对于第二个问题,您可以使用Kudu工具的Process explorer通过urlhttps检查java流程://

对于第三个问题,根据我的经验,我认为使用Azure Application Insights服务是最好的方法。同时,Azure Application Insights通过SDK支持Log4j2。您可以参考官方文档在Application Insights中浏览Java跟踪日志,以了解如何开始。

 类似资料:
  • 我正在寻找一种方法来集中分布式软件(用Java编写)的日志问题,这将非常简单,因为所讨论的系统只有一台服务器。但请记住,未来很可能会运行更多特定服务器的实例(并且需要更多的应用程序),因此必须有类似日志服务器的东西,它负责处理传入日志,并使支持团队能够访问这些日志。 目前的情况是,一些java应用程序使用log4j将其数据写入本地文件,因此,如果客户机过期出现问题,支持团队必须要求提供日志,这并不

  • 假设我们构建了一个JavaSDK,不同的项目可以通过将其添加为类路径中的jar或添加为mavenpom.xml或gradle文件中的依赖项来使用它。当其他项目使用该库时,SDK中的日志在运行时不可见。我尝试使用SL4J,当其他项目使用它时,没有一个日志在运行时可见。我应该用log4j2吗?如果是,我应该在我的SDK中提供log4j配置 /properties文件吗?是否会在运行时从消费者库中提取属

  • 问题内容: 我在查找日志文件时遇到问题。 我在Windows XP的Eclipse 3.7.1中使用Java日志记录- 。我文件的相关行是: 据我所知,执行以下两行之后: 我的日志文件应该在哪里是整数。 我在该目录中有5个不同的文件,通过,但是它们都没有包含我的日志记录,甚至没有包含今天日期的记录。我进行了一些谷歌搜索,发现“ 跟踪和日志记录”表示我的日志应位于其他位置。那里有一个名为的文件,但实

  • 我使用的是Flyway java API。 我想在我的日志中看到操作。 如何设置flyway日志?

  • 我想在我的应用程序中使用SLF4J+logback用于两个目的--日志和审计。 14:41:57.978[main]信息AUDIT_LOGGER-110欢迎使用main 如何确保审核消息在审核记录器下只出现一次?

  • 问题内容: 我正在考虑将Redis用于Web应用程序日志记录目的。我用谷歌搜索,有人将日志转储到Redis队列/列表中,然后将计划的工作人员转储到磁盘中。 http://nosql.mypopescu.com/post/8652869828/another-redis-use-case- centralized-logging 我希望寻求理解,为什么不直接使用Redis持久化到磁盘?如果我分配了一