Elastic.CommonSchema.Serilog 8.11.1
前缀已保留
dotnet add package Elastic.CommonSchema.Serilog --version 8.11.1
NuGet\Install-Package Elastic.CommonSchema.Serilog -Version 8.11.1
<PackageReference Include="Elastic.CommonSchema.Serilog" Version="8.11.1" />
paket add Elastic.CommonSchema.Serilog --version 8.11.1
#r "nuget: Elastic.CommonSchema.Serilog, 8.11.1"
// Install Elastic.CommonSchema.Serilog as a Cake Addin #addin nuget:?package=Elastic.CommonSchema.Serilog&version=8.11.1 // Install Elastic.CommonSchema.Serilog as a Cake Tool #tool nuget:?package=Elastic.CommonSchema.Serilog&version=8.11.1
Elastic Common Schema Serilog 文本格式化程序
此 ITextFormatter
实现将 Serilog 事件格式化为符合 Elastic Common Schema 规范的 JSON 表示形式。
软件包
.NET 程序集以 Elastic.CommonSchema.Serilog 包名发布到 NuGet。
如何启用
var logger = new LoggerConfiguration()
.WriteTo.Console(new EcsTextFormatter())
.CreateLogger();
在上面的代码片段中,new EcsTextFormatter()
启用文本格式化程序并指示 Serilog 将事件格式化为 JSON。上面的示例使用控制台接收器,但你可以使用任何你选择的接收器,也许可以考虑使用文件系统接收器以及 Elastic Filebeat 以实现耐用和可靠的摄取。
In ASP.NET(核心)应用程序
.UseSerilog((ctx, config) =>
{
// Ensure HttpContextAccessor is accessible
var httpAccessor = ctx.Configuration.Get<HttpContextAccessor>();
config
.ReadFrom.Configuration(ctx.Configuration)
.Enrich.WithEcsHttpContext(httpAccessor)
.WriteTo.Async(a => a.Console(new EcsTextFormatter()));
})
WithEcsHttpContext
确保日志将富含 HttpContext
数据。
以下是一个示例输出
{
"@timestamp": "2019-11-22T14:59:02.5903135+11:00",
"log.level": "Information",
"message": "Info \"X\" 2.2",
"ecs.version": "8.6.0",
"log": { "logger": "Elastic.CommonSchema.Serilog.Tests.MessageTests" },
"labels": {
"MessageTemplate": "Info {ValueX} {SomeY}",
"ValueX": "X",
"ThreadName": ".NET Long Running Task"
},
"agent": {
"type": "Elastic.CommonSchema.Serilog",
"version": "1.6.0"
},
"event": {
"created": "2019-11-22T14:59:02.5903135+11:00",
"severity": 2,
"timezone": "Romance Standard Time"
},
"host": {
"os": {
"full": "Microsoft Windows 10.0.19045",
"platform": "Win32NT",
"version": "10.0.19045.0"
},
"architecture": "X64",
"hostname": "LOCALHOST",
"name": "LOCALHOST"
},
"process": {
"name": "dotnet",
"pid": 1440,
"thread.id": 15,
"thread.name": ".NET Long Running Task",
"title": ""
},
"server": { "user": { "name": "MyDomain\\MyUserName" } },
"service": {
"name": "Elastic.CommonSchema",
"type": "dotnet",
"version": "1.6.0"
},
"user": {
"domain": "MyDomain",
"name": "MyUserName"
},
"metadata": {
"SomeY": 2.2
}
}
配置
选项 | 描述 | |
---|---|---|
MapCurrentThead |
通过从当前线程中查找Process 来映射 ecs.process 为true |
|
MapHttpAdapter |
null 是一种将HttpContextAccessor 映射到ECS字段的途径。 |
|
LogEventsPropertiesToFilter |
一个不应该作为labels.* 或metadata.* 发出属性的Set<string> 集合 |
|
MapCustom |
一个Func,允许您在完全转换为EcsDocument之前修改它。 |
ECS Aware Message Templates
这个格式化程序还允许您使用遵循https://messagetemplates.org/格式的属性,直接从消息模板设置ECS字段。
可用的ECS消息模板属性列在LogTemplateProperties.*
下,例如LogTemplateProperties.TraceId
Log.Information("The time is {TraceId}", "my-trace-id");
将覆盖结果ECS json文档中的trace.id
。
版权和许可
本软件版权所有(c)2014-2020 Elasticsearch BV。
这是免费软件,根据以下许可证发布:Apache License Version 2.0。
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET标准 | netstandard2.0 兼容。 netstandard2.1 兼容。 |
.NET框架 | net461 兼容。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETFramework 4.6.1
- Elastic.CommonSchema (≥ 8.11.1)
- Serilog (≥ 2.9.0)
-
.NETStandard 2.0
- Elastic.CommonSchema (≥ 8.11.1)
- Microsoft.AspNetCore.Http.Abstractions (≥ 2.1.0)
- Microsoft.AspNetCore.Http.Extensions (≥ 2.1.0)
- Serilog (≥ 2.9.0)
-
.NETStandard 2.1
- Elastic.CommonSchema (≥ 8.11.1)
- Microsoft.AspNetCore.Http.Abstractions (≥ 2.1.0)
- Microsoft.AspNetCore.Http.Extensions (≥ 2.1.0)
- Serilog (≥ 2.9.0)
NuGet包 (18)
显示依赖Elastic.CommonSchema.Serilog的前5个NuGet包
包 | 下载 |
---|---|
Serilog.Sinks.Logz.Io
Serilog事件输出到Logz.io。 |
|
Elastic.Serilog.Sinks 包描述 |
|
Sitko.Core.ElasticStack
Sitko.Core是一系列库,用于快速构建.NET Core应用程序 |
|
BioEngine.Extra.ElasticStack
包描述 |
|
Serilog.Sinks.Http.LogzIo
Serilog事件输出到Logz.io。 |
GitHub仓库 (3)
显示依赖于Elastic.CommonSchema.Serilog的排名前3的GitHub仓库
仓库 | 星星 |
---|---|
jerrytang67/SoMall
社交电商商城开源项目.socail+mall即取名SoMall, abp netcore 3.1 angular vue uni-app typescript docker mssql
|
|
damikun/trouble-training
包括分布式跟踪和监控的全栈DDD/CQRS与GraphQL工作坊。这展示了从React前端到.NET后端的配置。
|
|
sitkoru/Sitko.Core
Sitko.Core是一系列库,用于快速构建.NET Core应用程序
|
版本 | 下载 | 最后更新 |
---|---|---|
8.11.1 | 145,337 | 6/10/2024 |
8.11.0 | 274,741 | 4/10/2024 |
8.6.1 | 1,320,899 | 8/3/2023 |
8.6.0 | 338,253 | 5/9/2023 |
8.4.0-alpha4 | 10,033 | 3/28/2023 |
8.4.0-alpha3 | 496 | 3/15/2023 |
8.4.0-alpha2 | 470 | 3/1/2023 |
8.4.0-alpha1 | 941 | 2/20/2023 |
1.6.0-alpha1 | 80,778 | 6/2/2021 |
1.5.3 | 7,197,307 | 6/1/2021 |
1.5.1 | 1,463,636 | 6/3/2020 |
1.5.0 | 145,197 | 3/30/2020 |
1.4.4 | 1,543 | 3/25/2020 |
1.4.3 | 5,486 | 3/16/2020 |
1.4.2 | 25,049 | 3/6/2020 |
1.4.1 | 9,371 | 2/26/2020 |
1.4.0 | 11,954 | 1/29/2020 |
1.4.0-beta1 | 826 | 1/7/2020 |