我在Azure中有一個Application Insights資源。在我們的Java應用程序中,我們有一個log4j.xml文件,它根據服務名稱寫入多個日誌文件。應用程序洞察Log4j按日誌文件名篩選
我將Application Insights appender添加到日誌記錄中,並且我能夠在Application Insights資源中查看不同日誌文件的所有日誌。但是,我無法通過Application Insights中的日誌文件名進行篩選,因此跟蹤日誌無用。
有沒有辦法讓日誌文件名進入日誌事件屬性?這樣,在AppInsights中,我們可以通過日誌文件名進行過濾,並將它們讀取,就好像我們在那裏有日誌文件一樣。
編輯: 我們的log4j.xml看起來像這樣,與aiAppender在它應用的見解
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="fileout" class="org.apache.log4j.DailyRollingFileAppender">
<param name="datePattern" value="'.'yyyyMMdd"/>
<param name="file" value="${app.install.home}/log/${app.server.name}-${app.service.process.host}.log"/>
<param name="append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %5p [%t] (%C) - %m%n"/>
</layout>
</appender>
<appender name="aiAppender"
class="com.microsoft.applicationinsights.log4j.v1_2.ApplicationInsightsAppender">
</appender>
<root>
<priority value ="INFO" />
<appender-ref ref="fileout"/>
<appender-ref ref="aiAppender" />
</root>
你使用某種類型的文件附加器,用於生成日誌文件?如果是這樣,appender不知道其他appender,並且沒有簡單的方法告訴AI appender該事件屬於的文件。 儘管如此,您可以通過'device_Id'屬性來分組,即屬性是機器名稱。 – yonisha
@yonisha請參閱我對log4j.xml示例的編輯。我們使用DailyRollingFileAppender。所有的服務都在同一臺機器上,所以device_Id過濾器對我們沒有幫助。 – user1097108