У меня есть ресурс Application Insights в Azure. В нашем приложении Java у нас есть файл log4j.xml, который записывает в несколько файлов журнала в зависимости от имени службы.Приложение Insights Log4j фильтр по имени файла журнала
Я добавляю приложение Application Insights к регистрации, и я могу видеть все журналы разных файлов журналов в ресурсе Application Insights. Тем не менее, я не могу фильтровать по имени файла журнала в Application Insights, поэтому журналы трассировки не являются полезными.
Есть ли способ получить имя файла журнала в свойствах событий ведения журнала? Таким образом, в AppInsights мы могли бы фильтровать по имени файла журнала и читать их, как если бы у нас были файлы журнала.
Edit: наш 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 для создания лог-файлов? Если это так, appenders не знают о других добавках, и нет простого способа сообщить AI appender файл, к которому принадлежит событие. Тем не менее, вы можете группировать свойство 'device_Id', которое является именем машины. – yonisha
@yonisha См. Мое редактирование для примера log4j.xml. Мы используем DailyRollingFileAppender. Все службы находятся на одной машине, поэтому фильтр device_Id не будет полезен для нас. – user1097108