私はAzureにApplication Insightsリソースを持っています。 Javaアプリケーションでは、サービス名に応じて複数のログファイルに書き込むlog4j.xmlファイルがあります。Application Insightsログファイル名によるLog4jフィルタ
私はApplication Insightsアペンダーをロギングに追加しています。アプリケーションのInsightsリソースには、さまざまなログファイルのすべてのログが表示されます。しかし、私はApplication Insightsのログファイル名でフィルタリングすることができないので、トレースログは役に立ちません。
ロギングイベントプロパティにログファイル名を取得する方法はありますか?このように、AppInsightsでは、ログファイル名でフィルタリングし、そこにログファイルがあるかのように読み込むことができます。
編集: 私たちのlog4j.xmlがアプリケーション洞察
<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>
ログファイルを生成するためのファイルアペンダのいくつかの種類を使用していますか?そうであれば、アペンダーは他のアペンダーを認識せず、イベントが属するファイルをAIアペンダーに伝える簡単な方法はありません。 それにもかかわらず、マシン名である 'device_Id'プロパティでグループ化できます。 – yonisha
@yonisha log4j.xmlの例の編集を参照してください。 DailyRollingFileAppenderを使用しています。すべてのサービスが同じマシン上にあるため、device_Idフィルタは役に立ちません。 – user1097108