我有一个 Spring Boot 应用程序,它使用 log4j2 在 Azure Web App 中的“D:/home/LogFiles/azurefileapp/”文件夹中创建日志文件。应用程序可以正确地将日志写入此文件夹,没有任何问题。
现在我遇到的问题是我想与无法访问 Azure 门户的其他开发人员共享这些日志。我想为他们提供以下下载这些日志的 cmd(使用服务主体)。
az webapp 日志下载 --resource-group --name
使用上述 cmd,日志会被下载,但应用程序正在写入日志的当前日志文件不会被下载,因为它当前处于写锁定状态并被进程锁定。
我已经尝试从 log4j2 切换到 slf4j。但同样的情况也会发生。将不会下载最新的日志文件。一旦停止网络应用程序,我就可以毫无问题地下载最新的日志文件。
有什么方法可以完成以下任一操作吗? 1. 也可以使用相同的“az webapp log download”cmd 下载最新的日志文件,而无需停止 Web 应用程序? 2.或者,有没有一种方法可以让我在打开应用程序日志记录时直接写入Azure Web App自己生成的日志文件。 3. 有没有办法通过 Spring Boot 将自定义日志写入 Azure 存储 Blob?
最佳答案
针对此类要求,我们有以下选择。
- Splunk 与 Spring Boot
- ELK 堆栈与 Spring Boot
- 带有 Spring Boot 的 Zipkin
- Logstash 与 Spring Boot
可能还有更多。对于 Pivotal Cloud Foundary,可以选择使用 Loggregator,如果 Azure 中有类似的,您可以利用。
关于java - 如何在Azure应用程序日志中记录Java/Spring Boot应用程序生成的自定义应用程序日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56274274/