web-dev-qa-db-ja.com

iLoggerからアプリケーションの洞察を提供します

.NET CORE V2.2.2でMicrosoft.ApplicationInsights.AspNetCore v2.6.1を使用すると、AzureアプリケーションInsight Liveメトリックストリームでテレメトリが表示されますが、_ILoggerStartup.csまたはINでログに記録しようとしているエントリは表示されません。コントローラ.

WebHost.CreateDefaultBuilderProgram.cs.UseApplicationInsights()を試してみましたが、Startup.csのように、もちろん、無効にしました。

services.AddApplicationInsightsTelemetry( options => {
  options.EnableDebugLogger = true;
});

着信要求とリクエスト障害率が表示されますが、ログエントリはありません

this.logger.Log(LogLevel.Error, $"Test Error {Guid.NewGuid().ToString()}");
this.logger.LogTrace($"Test Trace {Guid.NewGuid().ToString()}");
this.logger.LogInformation($"Test Information {Guid.NewGuid().ToString()}");
this.logger.LogWarning($"Test Warning {Guid.NewGuid().ToString()}");
this.logger.LogCritical($"Test Critical {Guid.NewGuid().ToString()}");
this.logger.LogError($"Test Error{Guid.NewGuid().ToString()}");
this.logger.LogDebug($"Test Debug {Guid.NewGuid().ToString()}");
9

更新

最新のパッケージ_Microsoft.Extensions.Logging.ApplicationInsights_(2.9.1)がインストールされている場合は、このようにすることができます doc

Program.csでは:

_public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .ConfigureLogging(logging=> {
                logging.AddApplicationInsights("your_insturmentation_key");
                logging.AddFilter<ApplicationInsightsLoggerProvider>("", LogLevel.Trace); #you can set the logLevel here
            });        
 }
_

その後、controller.cs:

_    public class HomeController : Controller
    {
        ILogger<HomeController> Logger { get; set; }
        TelemetryClient client = new TelemetryClient();
        public HomeController(ILogger<HomeController> logger)
        {
            this.Logger = logger;
        }

        public IActionResult Index()
        {
            Logger.LogTrace("0225 ILogger: xxxxxxxxxxxxxxxxxxxxxxxxx");
            Logger.LogDebug("0225 ILogger: debug from index page aa111");
            Logger.LogInformation("0225 ILogger: infor from index page aa111");
            Logger.LogWarning("0225 ILogger: warning from index page aa111");
            Logger.Log(LogLevel.Error, "0225 ILogger: error from index page aa111");
            return View();
        }

        # other code

     }
_

テスト結果(すべてのログはアプリケーション洞察に送信されます)。

enter image description here

2
Ivan Yang

この質問をご覧ください。並びのような問題とその答えをご覧ください。 log4netとアプリケーションInsights-No Dataは通過していません

0
Ben Croughs