使用Serilog登录到Azure Log Analytics自定义字段

问题描述 投票:1回答:1

我是天蓝色的新手,也是.net中的新手,所以这可能是一个菜鸟问题:)无论如何,我已成功使用以下代码段成功登录到Azure Log Analytics:

var loggerConfig = new LoggerConfiguration().
            Enrich.WithExceptionDetails().
            Enrich.WithApplicationInformation(serviceName).
            MinimumLevel.Debug().
            MinimumLevel.Override("Microsoft", LogEventLevel.Information).
            Enrich.FromLogContext().
            Destructure.ByTransforming<ExpandoObject>(JsonConvert.SerializeObject).
            //Enrich.WithProperty("ErrorMsg_CF","test").
            WriteTo.AzureAnalytics(workspaceId: "MyWorkSpaceID", 
                                   authenticationId: "MyAuthID",
                                   logName: "MyCustomLog_CL",
                                   restrictedToMinimumLevel: LogEventLevel.Debug)

和:

        Logging.Logger.Initialize(serviceName: "Logging Web Test v1.1");
        Logging.Logger.GetLogger().Log(LogLevel.Debug, "{ErrorMsg_CF}:{TraceID_CF}:{UserName_CF}", errorMsg,traceID,userName);

我在Log Analytics自定义日志表中创建了3个自定义字段:“ ErrorMsg_CF”,“ TraceID_CF”和“ UserName_CF”,我希望能够直接登录到这些自定义字段,或者以某种方式拆分我的errormsg进入这三个自定义字段。

[导入文件时,我看到消息存储在“ RawData”字段中,使用该字段,我可以使用自定义字段生成器并创建自定义字段,并且Log Analytics还可以将消息拆分为我的领域。但是,当我通过应用程序执行此操作时,该消息存储在“ LogMEssage_s”字段中,似乎无法从该字段创建自定义字段。

所以,有人知道我该如何从我的应用程序登录到自定义字段?

c# serilog azure-log-analytics
1个回答
0
投票

默认格式配置是逐行事件日志记录。可以使用JSON提取ALN,这将是以这种方式格式化日志条目的最佳方法。

© www.soinside.com 2019 - 2024. All rights reserved.