0

我试图这样做以配置 serilog 以写入应用程序洞察力。它在 app.config 文件中。但它不起作用。是否有任何替代方法

<add key="serilog:minimum-level" value="Error"/>
<add key="serilog:using:ApplicationInsights" value="Serilog.Sinks.ApplicationInsights" />
<add key="serilog:write-to:ApplicationInsights" value="fxxx104-dd93-xxxx-8601-xxxxxxxxxxx"/>
4

1 回答 1

0

您应该添加UseSerilogProgram.cs。您使用 App.config 只需要通过代码读取密钥,例如ConfigurationManager.AppSettings["key"].

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        })
       .UseSerilog((hostingContext, loggerConfiguration) => loggerConfiguration
           .ReadFrom.Configuration(hostingContext.Configuration)
           .WriteTo.ApplicationInsights(new TelemetryConfiguration{ InstrumentationKey = "xxxxxxxxx" },TelemetryConverter.Traces)
        );   

然后你可以Log.Information("log details")在 yourController.cs 中使用来记录日志。

感谢伊万的灵魂。有关更多详细信息,您可以在下面的帖子中参考他的答案。

将 serilog 与 Azure 应用程序洞察力和 .Net 核心结合使用

于 2021-04-28T02:13:24.853 回答