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                
该命令旨在在 Visual Studio 的包管理器控制台中用作 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Serilog.Enrichers.Thread" Version="4.0.0" />                
对于支持 PackageReference 的项目,请将此 XML 节点复制到项目文件中以引用包。
paket add Serilog.Enrichers.Thread --version 4.0.0                
#r "nuget: Serilog.Enrichers.Thread, 4.0.0"                
#r 指令可以在 F# Interactive 和 Polyglot Notebooks 中使用。请将此复制到交互工具或脚本的源代码中以引用包。
// 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 构建状态 NuGet 版本

使用当前线程的属性丰富 Serilog 事件。

入门指南

从 NuGet 安装包

Install-Package Serilog.Enrichers.Thread

在您的日志配置中,应用Enrich.WithThreadId()Enrich.WithThreadName()

Log.Logger = new LoggerConfiguration()
    .Enrich.WithThreadId()
    .Enrich.WithThreadName()
    .CreateLogger();

许多输出通道简单地包含所有属性而无需任何其他操作,因此线程 ID 将自动记录。但是,某些输出通道,如文件和控制台输出通道,使用输出模板,并且新的ThreadId可能不会自动输出到您的输出通道。在这种情况下,为了使ThreadIdThreadName显示在日志中,您需要创建或修改您的输出模板。

w.File(...., outputTemplate:
  "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj} {Properties}{NewLine}{Exception}")

在这里,{Properties}不仅可以包括ThreadIdThreadName,还可以包括应用的其他任何丰富信息。或者,如果您只想添加线程 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 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。

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