簡體   English   中英

Nlog 可以針對 Azure Log Analytics 嗎?

[英]Can Nlog target Azure Log Analytics?

我正在 .NET 6 中編寫 Web API。我似乎找不到可以寫入Azure Log Analytics下的自定義表的示例。 可以通過發布 json 有效負載來寫入它們,我希望有一個 nuget 包庫已經可以通過 workspaceId 和 sharedkey 進行訪問。

Azure Log Analytics 與以下框架兼容:.NET Core、.NET 5 和 .NET 6。

使用包裝器將自定義數據集合寫入 Log Analytics

安裝包 LogAnalytics.Client

LogAnalytics_Wrapper logger = new LogAnalytics_Wrapper(
                workspaceId: "Workspace id,
                sharedKey: "Shared key");
                
await logger.SendLogEntry(new SomeEntity
{
    Category = GetCategory(),
    SomeString = $"String Test",
    SomeBoolean = true,
    SomeDateTime = DateTime.UtcNow,
    SomeDouble = 2.1,
    SomeGuid = Guid.NewGuid()
}, "testlog")
.ConfigureAwait(false);  ConfigureAwait(false) 

使用包裝器的日志條目

LogAnalyticsClient logger = new LogAnalyticsClient(
                workspaceId: "Workspace id",
                sharedKey: "Shared KEY");
List<DemoEntity> entities = new List<DemoEntity>();
for (int i = 0; i < 1000; ii++)
{
    entities.Add(new DemoEntity
    {
        Criticality = GetCriticality(),
        Message = "Message",
        SystemSource = GetSystemSource()
    });
}
await logger.SendLogEntries(entities, "testlog").ConfigureAwait(false)

我們可以從 appsettings.json 或 KeyVault 獲取 workspaceId 和共享鍵值
在此處輸入圖像描述

使用以下命令從 azure 中獲取日志

search *
| where Type == "testlog_CL"

暫無
暫無

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

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