簡體   English   中英

使用 Serilog 記錄到 Azure Log Analytics 自定義字段

[英]Logging to Azure Log Analytics custom fields using Serilog

我是 azure 的新手,也是 .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”字段中,似乎無法從該字段創建自定義字段。

那么,有人知道如何從我的應用程序登錄到我的自定義字段嗎?

默認格式配置是逐行事件記錄。 可以使用 JSON 攝取 ALN,因此這將是以這種方式格式化日志條目的最佳方式。

.WriteTo.DESTINATION(new CompactJsonFormatter(), OTHER OPTIONS HERE)

串行日志格式

暫無
暫無

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

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