Serilog.Sinks.Console 6.0.0

前缀已保留
dotnet add package Serilog.Sinks.Console --version 6.0.0                
NuGet\Install-Package Serilog.Sinks.Console -Version 6.0.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用此包。
paket add Serilog.Sinks.Console --version 6.0.0                
#r "nuget: Serilog.Sinks.Console, 6.0.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互工具或脚本的源代码中以引用该包。
// Install Serilog.Sinks.Console as a Cake Addin
#addin nuget:?package=Serilog.Sinks.Console&version=6.0.0

// Install Serilog.Sinks.Console as a Cake Tool
#tool nuget:?package=Serilog.Sinks.Console&version=6.0.0                

Serilog.Sinks.Console 构建状态 NuGet 版本 文档 帮助

A Serilog sink that writes log events to the Windows console or an ANSI terminal via standard output. It supports coloring and custom themes, including ANSI 256-color themes on macOS, Linux, and Windows 10. The default output is plain text; JSON formatting can be connected using a package such as Serilog.Formatting.Compact.

入门指南

要使用控制台接收器,首先安装NuGet 包

dotnet add package Serilog.Sinks.Console

然后使用 WriteTo.Console() 启用接收器

Log.Logger = new LoggerConfiguration()
    .WriteTo.Console()
    .CreateLogger();
    
Log.Information("Hello, world!");

日志事件将打印到 STDOUT

[12:50:51 INF] Hello, world!

主题

默认情况下,接收器将彩色渲染输出

Colorized Console

可以在配置接收器时指定主题

    .WriteTo.Console(theme: AnsiConsoleTheme.Code)

以下是一些内置的主题:

  • ConsoleTheme.None - 无样式
  • SystemConsoleTheme.Literate - 以类似 Serilog.Sinks.Literate 的样式进行设计,使用支持所有 Windows/.NET 目标的 System.Console 色彩模式;这是没有指定主题时的默认值
  • SystemConsoleTheme.Grayscale - 只使用灰色、白色和黑色的主题
  • AnsiConsoleTheme.Literate - “书面”主题的 ANSI 256 色版本
  • AnsiConsoleTheme.Grayscale - “灰色”主题的 ANSI 256 色版本
  • AnsiConsoleTheme.Code -灵感来源于 Visual Studio Code 的 ANSI 256 色主题
  • AnsiConsoleTheme.Sixteen -兼容浅色和深色背景的 ANSI 16 色主题

添加新主题很简单;有关示例,请参阅 SystemConsoleThemesAnsiConsoleThemes 类。

输出模板

可以使用 outputTemplate 配置参数修改发送到控制台的日志事件格式

    .WriteTo.Console(
        outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}")

默认模板(如上例所示)使用内置属性,如 TimestampLevel。来自事件的属性,包括使用 丰富器附加的属性,也可以出现在输出模板中。

JSON 输出

接收器可以写入 JSON 输出而不是纯文本。建议使用来自 Serilog.FormattingCompactCompactJsonFormatterRenderedCompactJsonFormatter

dotnet add package Serilog.Formatting.Compact

将格式化程序传递给 Console() 配置方法

    .WriteTo.Console(new RenderedCompactJsonFormatter())

当使用自定义格式化程序时,不可用输出主题

<appSettings> XML 配置

要使用控制台接收器与 Serilog.Settings.AppSettings 包,如果您尚未安装,请先安装该包

dotnet add package Serilog.Settings.AppSettings

调用 ReadFrom.AppSettings() 代替在代码中配置记录器

var log = new LoggerConfiguration()
    .ReadFrom.AppSettings()
    .CreateLogger();

在您的应用程序的 App.configWeb.config 文件中,指定 <appSettings> 节下的控制台接收器程序集

<configuration>
  <appSettings>
    <add key="serilog:using:Console" value="Serilog.Sinks.Console" />
    <add key="serilog:write-to:Console" />

要使用不同的主题,并在输出中包含 SourceContext,将您的 App.config/Web.config 修改如下:

<configuration>
  <appSettings>
    <add key="serilog:using:Console" value="Serilog.Sinks.Console" />
    <add key="serilog:write-to:Console.theme" value="Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console" />
    <add key="serilog:write-to:Console.outputTemplate" value="[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} &lt;s:{SourceContext}&gt;{NewLine}{Exception}" />

JSON appsettings.json 配置

要使用控制台接收器与Microsoft.Extensions.Configuration一起使用,例如与ASP.NET Core或.NET Core一起使用,请使用Serilog.Settings.Configuration包。首先安装该包,如果尚未安装的话

dotnet add package Serilog.Settings.Configuration

而不是直接在代码中配置接收器,请调用ReadFrom.Configuration()

var configuration = new ConfigurationBuilder()
    .AddJsonFile("appsettings.json")
    .Build();

var logger = new LoggerConfiguration()
    .ReadFrom.Configuration(configuration)
    .CreateLogger();

在您的appsettings.json文件中,在Serilog节点下

{
  "Serilog": {
    "WriteTo": [{"Name": "Console"}]
  }
}

要使用不同的主题配置控制台接收器,并在输出中包含SourceContext,请将您的appsettings.json更改如下

{
  "Serilog": {
    "WriteTo": [
      {
          "Name": "Console",
          "Args": {
            "theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console",
            "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} <s:{SourceContext}>{NewLine}{Exception}"
          }
      }
    ]
  }
}

性能

控制台日志记录是同步的,这可能在某些部署场景中造成瓶颈。对于高量的控制台日志记录,请考虑使用Serilog.Sinks.Async将控制台写入移动到一个后台线程

// dotnet add package serilog.sinks.async

Log.Logger = new LoggerConfiguration()
    .WriteTo.Async(wt => wt.Console())
    .CreateLogger();

贡献

您是否想帮助使Serilog控制台接收器变得更好?我们保留了一个针对新手的可操作问题的列表,标签为up-for-grabs。在开始工作之前,我们建议在问题跟踪器上评论或提出一个问题,这样我们可以帮助并协调工作。有关更多详细信息,请查看我们的贡献指南

在贡献时,请牢记我们的行为准则

详细的构建状态

分支 AppVeyor Travis
dev Build status Build Status
main Build status Build Status

版权所有 © Serilog 贡献者 - 在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 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 包(1.3K)

显示依赖于 Serilog.Sinks.Console 的前 5 个 NuGet 包

下载
Serilog.AspNetCore

Serilog 对 ASP.NET Core 日志记录的支持

Serilog.Sinks.ColoredConsole

现在已被 Serilog.Sinks.Console 取代,请使用该包。Serilog 的彩色控制台输出

Serilog.Sinks.Literate

现在已由 Serilog.Sinks.Console 替换,请使用该包。Serilog 的一个彩色控制台接收器,用于美化输出属性。

Pulumi

Pulumi .NET SDK 允许您用 C#、F# 和 VB.NET 编写云程序。

IppDotNetSdkForQuickBooksApiV3

QuickBooks API V3 的 IPP .NET SDK 是一组 .NET 类,可以让您更轻松地调用 QuickBooks API。这是 .Net Standard 2.0 版本的 .Net SDK。

GitHub 仓库 (369)

显示依赖 Serilog.Sinks.Console 的前 5 个最受欢迎的 GitHub 仓库

仓库 星标
jellyfin/jellyfin
免费软件媒体系统
netchx/netch
一个简单的代理客户端
abpframework/abp
ASP.NET Core 开源 Web 应用程序框架!提供了一种有见地的架构来构建最佳实践的企业级解决方案,这些最佳实践位于 .NET 之上。提供基本基础设施、横切关注点实现、启动模板、应用程序模块、UI 主题、工具和文档。
IdentityServer/IdentityServer4
ASP.NET Core 的 OpenID Connect 和 OAuth 2.0 框架
microsoft/reverse-proxy
用于开发高性能 HTTP 反向代理应用程序的工具包。
版本 下载 最后更新
6.0.0 2,844,506 6/9/2024
6.0.0-dev-00946 132 6/9/2024
5.1.0-dev-00943 101,137 3/17/2024
5.0.2-dev-00942 229 3/17/2024
5.0.1 19,223,173 11/28/2023
5.0.1-dev-00928 656 11/28/2023
5.0.0 19,642,473 11/9/2023
5.0.0-dev-00923 54,413 10/12/2023
4.2.0-dev-00918 169,051 7/21/2023
4.1.1-dev-00917 7,804 7/21/2023
4.1.1-dev-00910 297,052 3/14/2023
4.1.1-dev-00907 238,210 2/3/2023
4.1.1-dev-00901 111,473 1/6/2023
4.1.1-dev-00896 435,191 9/27/2022
4.1.0 68,305,476 9/6/2022
4.1.0-dev-00893 1,008 9/5/2022
4.0.2-dev-00890 506,102 12/22/2021
4.0.1 141,375,792 11/19/2021
4.0.1-dev-00879 81,359 10/21/2021
4.0.1-dev-00876 296,338 8/3/2021
4.0.1-dev-00874 52,853 7/13/2021
4.0.0 21,070,925 7/12/2021
4.0.0-dev-00870 1,135 7/12/2021
4.0.0-dev-00839 4,741,083 1/24/2020
4.0.0-dev-00837 46,865 1/15/2020
4.0.0-dev-00834 708,610 11/22/2019
4.0.0-dev-00832 1,433 11/22/2019
4.0.0-dev-00831 13,905 11/22/2019
3.1.2-dev-00824 522,477 9/13/2019
3.1.2-dev-00823 54,478 8/22/2019
3.1.2-dev-00819 14,144 8/21/2019
3.1.2-dev-00811 21,117 8/15/2019
3.1.2-dev-00806 29,792 8/2/2019
3.1.2-dev-00802 82,853 7/5/2019
3.1.2-dev-00800 53,460 6/24/2019
3.1.2-dev-00798 71,452 5/12/2019
3.1.2-dev-00796 12,471 5/6/2019
3.1.2-dev-00792 81,798 3/14/2019
3.1.2-dev-00788 100,407 1/15/2019
3.1.2-dev-00786 7,848 1/5/2019
3.1.2-dev-00779 231,335 9/22/2018
3.1.2-dev-00777 436,120 5/21/2018
3.1.2-dev-00774 32,715 5/9/2018
3.1.2-dev-00771 18,066 4/29/2018
3.1.1 223,569,737 10/22/2017
3.1.1-dev-00764 1,977 10/22/2017
3.1.1-dev-00762 1,853 10/22/2017
3.1.1-dev-00757 40,123 9/11/2017
3.1.0 831,529 9/11/2017
3.0.2-dev-00753 14,282 8/1/2017
3.0.1 17,584,756 6/23/2017
3.0.1-dev-00749 1,953 6/22/2017
3.0.1-dev-00747 1,970 6/22/2017
3.0.0 243,136 6/21/2017
3.0.0-dev-00737 1,936 6/21/2017
3.0.0-dev-00735 1,928 6/21/2017
3.0.0-dev-00734 1,874 6/19/2017
3.0.0-dev-00732 1,959 6/19/2017
2.2.0-dev-00721 26,185 1/25/2017
2.2.0-dev-00719 4,685 10/25/2016
2.1.0 1,116,414 7/5/2016
2.1.0-dev-00715 1,930 7/5/2016
2.1.0-dev-00713 1,880 7/5/2016
2.0.0 461,691 6/28/2016
2.0.0-rc-709 2,890 5/26/2016
2.0.0-beta-707 2,022 5/17/2016
2.0.0-beta-706 1,797 5/17/2016
2.0.0-beta-700 2,209 3/23/2016
2.0.0-beta-513 1,850 3/15/2016
2.0.0-beta-511 1,829 3/14/2016
2.0.0-beta-509 1,970 3/13/2016
2.0.0-beta-507 2,170 3/1/2016
2.0.0-beta-505 2,227 2/25/2016
2.0.0-beta-502 2,019 2/22/2016
2.0.0-beta-499 1,952 2/21/2016
2.0.0-beta-495 1,908 2/19/2016
2.0.0-beta-494 1,906 2/18/2016
2.0.0-beta-493 1,947 2/18/2016
2.0.0-beta-487 1,847 2/16/2016
2.0.0-beta-486 1,865 2/11/2016
2.0.0-beta-479 1,850 2/9/2016
2.0.0-beta-478 1,878 2/9/2016
2.0.0-beta-465 1,842 1/26/2016
2.0.0-beta-456 1,814 1/20/2016
2.0.0-beta-450 2,126 1/14/2016
2.0.0-beta-449 2,624 1/14/2016