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()方法記錄它。

這個選項需要一些相當的思想,因爲你會閱讀文件,然後確定如何處理它。

相關問題