[英]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.