1

我在Azure云服务上运行Java应用程序。 我已经看到这篇文章,它展示了如何配置一个java项目,以使用log4j将日志发送到Azure的见解:https://azure.microsoft.com/en-us/documentation/articles/app-insights-java-trace-logs/ 但是,由于各种原因,我不想这样做。我的Java应用程序已经将多个日志文件写入日志目录(application.log,error.log等)。我想在Azure Insights中指向此目录,以便它可以将这些日志文件聚合到在Cloud Services上运行的应用程序的多个实例,然后将它们呈现给我。 (与AWS Cloudwatch提供日志的方式类似)。我怎样才能做到这一点?我的Java应用程序生成的日志如何在Azure中聚合?

回答

3

我认为这是一个深层次的问题,需要一些自定义编码来完成它。

我读它的问题是,你有多个日志文件写入一个位置,你只是想解析这些日志文件并发送日志行。而且,由于各种原因,您不希望将日志appender添加到Java代码中。

简短的回答是,没有。 AI没有办法监视日志文件的目录然后发送它们。

下一个简短的回答是,没有。 AI不能在盒子外面做,但是Log Analytics可以。这有点更加沉重,我没有足够的了解它可以说它适合这种情况。但是,由于您使用的是云服务,因此您可能会安装代理并开始收集日志。

下一个答案是很长的答案,有点。你可以做到这一点,但它会需要很多自定义编码。我的设想是类似于Azure Diagnostics Sink的工作原理。

您需要创建一个读取日志文件并逐行枚举它们的应用程序,然后它会根据某种格式解析它们,然后调用TrackTrace()方法记录它。

这个选项需要一些相当的思想,因为你会阅读文件,然后确定如何处理它。

相关问题