【问题标题】:Unable to push logs to application insights using logback appenders无法使用 logback appenders 将日志推送到应用程序洞察
【发布时间】:2018-04-05 18:49:49
【问题描述】:

我有一个 java web 应用程序(springboot 应用程序),我想在其中将日志推送到 azure 中的应用程序洞察力。我使用 logback 作为我的日志框架,因为 Springboot 原生支持它。 我按照以下博客为我的网络应用集成了 applicationInsights。

https://github.com/AzureCAT-GSI/DevCamp/tree/master/HOL/java/06-appinsights

根据这个博客,我创建了以下内容:

  1. 在 azure 中创建了应用洞察资源
  2. 在我的 Java Web 应用程序中创建了过滤器来捕获 http 请求
  3. 已创建 ApplicationInsights.xml
  4. 创建了 logback.xml,其中包含 Azure 提供的 AI appender。

这是我的网络应用程序中的 sn-ps

1) ApplicationInsight 过滤器类如下:-

@Configuration

public class AppInsightsConfig {

    @Bean
    public String telemetryConfig() {
        String telemetryKey = System.getenv("APPLICATION_INSIGHTS_IKEY");
        if (telemetryKey != null) {
            TelemetryConfiguration.getActive().setInstrumentationKey(telemetryKey);
        }
        return telemetryKey;
    }

    @Bean
    @Order(1)
    public org.springframework.boot.web.servlet.FilterRegistrationBean aiFilterRegistration() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new WebRequestTrackingFilter());
        registration.addUrlPatterns("/**");
        registration.setOrder(1);
        return registration;
    } 

    @Bean(name = "WebRequestTrackingFilter")
    public Filter WebRequestTrackingFilter() {
        return new WebRequestTrackingFilter();
    }   
}

2) ApplicationInsights.xml(src/main/resources 文件夹)

<?xml version="1.0" encoding="UTF-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings" schemaVersion="2014-05-30">


    <!-- The key from the portal: -->

    <InstrumentationKey>my app key</InstrumentationKey>


    <!-- HTTP request component (not required for bare API) -->

    <TelemetryModules>
        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebRequestTrackingTelemetryModule"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebSessionTrackingTelemetryModule"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebUserTrackingTelemetryModule"/>
    </TelemetryModules>

    <!-- Events correlation (not required for bare API) -->
    <!-- These initializers add context data to each event -->

    <TelemetryInitializers>
        <Add   type="com.microsoft.applicationinsights.web.extensibility.initializers.WebOperationIdTelemetryInitializer"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebOperationNameTelemetryInitializer"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebSessionTelemetryInitializer"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebUserTelemetryInitializer"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebUserAgentTelemetryInitializer"/>

    </TelemetryInitializers>
    </ApplicationInsights>  

3) Logback.xml如下:-

<configuration>
    <appender name="aiAppender" 
        class="com.microsoft.applicationinsights.logback.ApplicationInsightsAppender">
    </appender>
    <root level="trace">
        <appender-ref ref="aiAppender" />
    </root>

    <logger name="org.springframework.web" level="INFO"/>
</configuration>

问题是我无法将日志推送到应用洞察。但是,我能够在应用洞察中获得遥测数据。

注意:我使用的是最新版本的 appinsights 库(核心和网络)

【问题讨论】:

    标签: java azure logback azure-application-insights


    【解决方案1】:

    Application Insights Java SDK v2.0.0-BETA 的新版本现已发布。请升级到这个版本。该问题现已解决。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,并且 按照您的建议,我已将库版本从 1.0.10 降级到 1.0.9。 解决了!谢谢。

      【讨论】:

        【解决方案3】:

        azure 库版本 1.0.10 中似乎存在错误。下一个版本 1.0.11 中有修复。所以为了解决这个问题,我将 azure 库降级到 1.0.9,一切都像一个魅力。 库应用洞察核心/web/logback appender 从 1.0.10 降级到 1.0.9。

        问题仅在于 logback appender。 Log4j 版本在 1.0.10 版本中表现正确。

        【讨论】:

        • 啊,原来是库版本的问题,谢谢分享!
        猜你喜欢
        • 1970-01-01
        • 2016-10-02
        • 1970-01-01
        • 2021-12-23
        • 2017-11-10
        • 2022-08-23
        • 2018-08-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多