簡體   English   中英

Application Insights 的日志未寫入跟蹤日志

[英]Application Insights' Logs Not Writing to Traces Log

我正在按照此頁Application Insights Instructions將 Application Insights (AI) 添加到我的 web API 服務中。 我設法讓我的服務連接到 AI,並且我能夠看到我的服務何時執行發布、獲取等。我還通過我的服務進行了日志調用,但沒有一個被寫入我的 AI 的 Traces 日志。

跟蹤日志

我確保設置了我的 Startup.cs 和 appsettings.json 文件以包含在整個服務中運行 AI 所需的新代碼,並且日志數據需要對 AI 抓取日志進行調試和升級。

啟動.cs

public void ConfigureServices(IServiceCollection services)
{         
    services.AddApplicationInsightsTelemetry();
}

appsettings.json

應用設置.json

記錄示例

public async Task ProcessQueueAsync(dBData dbContext)
{
    // _logger is of type ILogger<[INSERT CLASS NAME]>
    _logger.LogDebug("This is a test log by Lotzi11.");
    await ProcessQueueAsyncSingle(dbContext, CancellationToken.None);
}

有人可以幫我弄清楚為什么我的日志沒有被發送到 AI 嗎?

你的代碼配置和appsettings.json是正確的。 根據您在我身邊的設置,我可以在 AI 中看到這些日志。

您應該知道的一件事是,這些數據可能需要幾分鍾才能到達 AI 服務器。 請等待幾分鍾,如 5 分鍾或更長時間,然后從 azure 門戶 -> 應用洞察再次查詢這些數據。

這是檢查數據是否發送到 AI 的簡單方法。 在visual studio中,運行項目時,可以在visual studio output window中搜索日志。 如果您可以在那里找到日志,那么應該將其發送給 AI:

在 Visual Studio output window 中搜索:

在此處輸入圖像描述

如果您仍然無法在 AI 中看到這些日志,您還應該檢查您是否在代碼中設置了filtersampling等內容。

當我在解決我的問題時,我發現我的公司使用 Serilog 來處理日志記錄,所以我不得不改變我的項目,以便 Serilog 也將日志發送給 AI。 我使用以下頁面serilog-sinks-applicationinsights修改了我的代碼。

這讓我意識到,即使我按照微軟關於設置 AI 的說明進行操作,我的 ILogger class 也沒有正確設置來處理向 AI 發送日志。 為了解決這個問題,我更改了 Startup.cs 的構造函數:

    public Startup(IHostEnvironment environment, IConfiguration configuration)
    {
        var env = new Environment(environment.EnvironmentName);

        _systemConfiguration = new SystemConfiguration(env, configuration);
        _systemConfiguration.Validate();

        Log.Logger = new LoggerConfiguration().Enrich.FromLogContext().WriteTo.ApplicationInsights(_systemConfiguration.BaseConfiguration["APPINSIGHTS_INSTRUMENTATIONKEY"], TelemetryConverter.Traces).CreateLogger();
        using var provider = new SerilogLoggerProvider(Log.Logger);            
        _logger = provider.CreateLogger(nameof(Startup));
    }

將 AI 添加到 Log.Logger 后,我的日志開始顯示在我的 AI 頁面中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM