Serilog.Enrichers.Thread 4.0.0
前缀已保留
dotnet add package Serilog.Enrichers.Thread --version 4.0.0
NuGet\Install-Package Serilog.Enrichers.Thread -Version 4.0.0
<PackageReference Include="Serilog.Enrichers.Thread" Version="4.0.0" />
paket add Serilog.Enrichers.Thread --version 4.0.0
#r "nuget: Serilog.Enrichers.Thread, 4.0.0"
// Install Serilog.Enrichers.Thread as a Cake Addin #addin nuget:?package=Serilog.Enrichers.Thread&version=4.0.0 // Install Serilog.Enrichers.Thread as a Cake Tool #tool nuget:?package=Serilog.Enrichers.Thread&version=4.0.0
Serilog.Enrichers.Thread
使用当前线程的属性丰富 Serilog 事件。
入门指南
从 NuGet 安装包
Install-Package Serilog.Enrichers.Thread
在您的日志配置中,应用Enrich.WithThreadId()
和Enrich.WithThreadName()
Log.Logger = new LoggerConfiguration()
.Enrich.WithThreadId()
.Enrich.WithThreadName()
.CreateLogger();
许多输出通道简单地包含所有属性而无需任何其他操作,因此线程 ID 将自动记录。但是,某些输出通道,如文件和控制台输出通道,使用输出模板,并且新的ThreadId
可能不会自动输出到您的输出通道。在这种情况下,为了使ThreadId
或ThreadName
显示在日志中,您需要创建或修改您的输出模板。
w.File(...., outputTemplate:
"{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj} {Properties}{NewLine}{Exception}")
在这里,{Properties}不仅可以包括ThreadId
和ThreadName
,还可以包括应用的其他任何丰富信息。或者,如果您只想添加线程 ID 丰富值,可以使用{ThreadId},如果想只添加线程名称丰富值,可以使用{ThreadName}。
以下是一个示例,它还使用了Serilogs.Sinks.Async Nuget软件包
Thread.CurrentThread.Name = "MyWorker";
var logger = Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.Console(restrictedToMinimumLevel:Serilog.Events.LogEventLevel.Information)
.WriteTo.Async(w=>w.File("..\\..\\..\\..\\logs\\SerilogLogFile.json", rollingInterval: RollingInterval.Day, outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj} <{ThreadId}><{ThreadName}>{NewLine}{Exception}"))
.Enrich.WithThreadId()
.CreateLogger();
这将生成如下所示的日志文件输出
2018-04-06 13:12:45.684 +02:00 [ERR] The file file_name.svg does not exist <4><MyWorker>
其中,<4>是一个示例线程 ID,而 <MyWorker> 是一个示例线程名称。
要使用丰富器,首先安装NuGet软件包
Install-Package Serilog.Enrichers.Thread
注意:仅当{ThreadName}属性不为空时,才会附加此属性。否则,它将被省略。如果您想始终获取此属性,可以使用以下方式
using Serilog.Enrichers;
Log.Logger = new LoggerConfiguration()
.Enrich.WithThreadName()
.Enrich.WithProperty(ThreadNameEnricher.ThreadNamePropertyName, "MyDefault")
.CreateLogger();
丰富顺序很重要。否则,“MyDefault”始终会获胜。
版权©2016 Serilog贡献者 - 在Apache许可协议,版本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 Standard | netstandard2.0 兼容。 netstandard2.1 已计算。 |
.NET Framework | 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 已计算。 |
NuGet 包 (272)
显示依赖 Serilog.Enrichers.Thread 的前 5 个 NuGet 包
包 | 下载 |
---|---|
Umbraco.Cms.Infrastructure 包含运行 Umbraco CMS 所需的基础库。 |
|
UmbracoCms.Core 包含运行 Umbraco Cms 所需的核心库。此 package 只包含库,可用于包的开发。请使用 UmbracoCms 包将 Umbraco 设置为 Visual Studio 中的 ASP.NET 项目。 |
|
IppDotNetSdkForQuickBooksApiV3
IPP .NET SDK for QuickBooks V3 是一组 .NET 类,它使调用 QuickBooks API 更加容易。这是 .Net Standard 2.0 版本的 .Net SDK |
|
NBomber
适用于拉取和推送场景的现代且灵活的负载测试框架,可测试任何系统,无论其协议(HTTP/WebSockets/AMQP 等)或语义模型(拉取/推送)。 |
|
Be.Vlaanderen.Basisregisters.Api
通用的 API 基础结构和辅助工具。 |
GitHub 仓库 (57)
显示依赖 Serilog.Enrichers.Thread 的前 5 个最受欢迎的 GitHub 仓库
仓库 | 星标 |
---|---|
jellyfin/jellyfin
自由软件媒体系统
|
|
Kareadita/Kavita
Kavita 是一个快速、功能丰富的跨平台阅读服务器。旨在满足您所有阅读需求。设置自己的服务器,并与您的朋友和家人分享您的阅读收藏。
|
|
ServiceStack/ServiceStack
精心设计、速度惊人的、令人津津乐道的面向所有人的网络服务
|
|
EventStore/EventStore
EventStoreDB,事件原生数据库。专为事件存储、事件驱动和微服务架构设计
|
|
fullstackhero/dotnet-starter-kit
生产级云就绪 .NET 8 开发起步套件(Web API + Blazor 客户端)支持多租户,并采用简洁/模块化架构,节省约 200+ 开发小时!含所有功能。
|
版本 | 下载 | 最后更新 |
---|---|---|
4.0.0 | 722,922 | 6/14/2024 |
4.0.0-dev-00770 | 81 | 6/14/2024 |
4.0.0-dev-00767 | 82 | 6/14/2024 |
4.0.0-dev-00762 | 82 | 6/14/2024 |
3.2.0-dev-00756 | 147,056 | 11/14/2023 |
3.2.0-dev-00752 | 640,832 | 5/11/2021 |
3.2.0-dev-00750 | 3,087,958 | 2/26/2021 |
3.2.0-dev-00747 | 714,626 | 9/2/2019 |
3.1.1-dev-00745 | 55,863 | 6/2/2019 |
3.1.1-dev-00743 | 5,014 | 5/8/2019 |
3.1.0 | 86,854,944 | 5/2/2019 |
3.1.0-dev-00739 | 695 | 5/2/2019 |
3.0.1-dev-00737 | 10,933 | 2/24/2019 |
3.0.1-dev-00731 | 1,456 | 2/8/2019 |
3.0.1-dev-00728 | 31,388 | 5/9/2018 |
3.0.1-dev-00727 | 7,000 | 4/6/2018 |
3.0.0 | 10,085,271 | 11/13/2016 |
3.0.0-dev-00721 | 1,506 | 11/11/2016 |
2.0.1-dev-00720 | 1,017 | 11/11/2016 |
2.0.0 | 279,610 | 6/28/2016 |
2.0.0-rc-712 | 1,385 | 5/27/2016 |
2.0.0-beta-705 | 1,173 | 5/17/2016 |
2.0.0-beta-701 | 1,152 | 4/11/2016 |
2.0.0-beta-700 | 1,338 | 3/23/2016 |
2.0.0-beta-521 | 1,013 | 3/18/2016 |
2.0.0-beta-519 | 1,136 | 3/16/2016 |
2.0.0-beta-516 | 1,005 | 3/15/2016 |
2.0.0-beta-515 | 974 | 3/15/2016 |
2.0.0-beta-513 | 987 | 3/15/2016 |
2.0.0-beta-511 | 1,031 | 3/14/2016 |
2.0.0-beta-509 | 1,084 | 3/13/2016 |
2.0.0-beta-507 | 1,326 | 3/1/2016 |
2.0.0-beta-505 | 1,358 | 2/25/2016 |
2.0.0-beta-502 | 1,062 | 2/22/2016 |
2.0.0-beta-499 | 1,002 | 2/21/2016 |