Serilog.Extensions.Hosting 8.0.0

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

// Install Serilog.Extensions.Hosting as a Cake Tool
#tool nuget:?package=Serilog.Extensions.Hosting&version=8.0.0                

Serilog.Extensions.Hosting 构建状态 NuGet 版本

Serilog 为 Microsoft.Extensions.Hosting 提供日志功能。这个软件包通过 Serilog 路由框架日志消息,使您可以使用与您的应用程序事件相同的 Serilog 接收器获取关于框架内部操作的信息。

ASP.NET Core 应用程序应考虑 使用 Serilog.AspNetCore 代替,它包含了这个包以及其他 ASP.NET Core 特定功能。

说明

首先,将 Serilog.Extensions.HostingNuGet 包 安装到您的应用中。您需要一个方法来查看日志消息 - Serilog.Sinks.Console 将这些消息写入控制台;在 NuGet 上有许多其他可用的接收器。

dotnet add package Serilog.Extensions.Hosting
dotnet add package Serilog.Sinks.Console

接下来,在您的应用程序的 Program.cs 文件中,首先配置 Serilog。一个 try/catch 块将确保任何配置问题都得到恰当的记录

public class Program
{
    public static int Main(string[] args)
    {
        Log.Logger = new LoggerConfiguration()
            .MinimumLevel.Debug()
            .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
            .Enrich.FromLogContext()
            .WriteTo.Console()
            .CreateLogger();

        try
        {
            Log.Information("Starting host");
            BuildHost(args).Run();
            return 0;
        }
        catch (Exception ex)
        {
            Log.Fatal(ex, "Host terminated unexpectedly");
            return 1;
        }
        finally
        {
            Log.CloseAndFlush();
        }
    }

然后,将 UseSerilog() 添加到在 BuildHost() 中的主机生成器。

    public static IHost BuildHost(string[] args) =>
        new HostBuilder()
            .ConfigureServices(services => services.AddSingleton<IHostedService, PrintTimeService>())
            .UseSerilog() // <- Add this line
            .Build();
}

最后,清理剩余的 "Logging" 部分,从 appsettings.json 文件中删除(如有需要,可以替换为如 在这里所示 的 Serilog 配置)

就这样!您将看到像这样的日志输出

[22:10:39 INF] Getting the motors running...
[22:10:39 INF] The current time is: 12/05/2018 10:10:39 +00:00

包含更完整示例的 appsettings.json 配置可以在 此处的示例项目中找到

使用软件包

安装并配置好 Serilog.Extensions.Hosting 后,您可以直接通过 Serilog 或由 .NET 注入的任何 ILogger 接口写入日志消息。所有记录器都将使用相同的底层实现、级别和目标。

提示:Microsoft 的最小级别更改为 Warning

内联初始化

您还可以像下面这样使用委托配置 Serilog

    // dotnet add package Serilog.Settings.Configuration
    .UseSerilog((hostingContext, services, loggerConfiguration) => loggerConfiguration
        .ReadFrom.Configuration(hostingContext.Configuration)
        .Enrich.FromLogContext()
        .WriteTo.Console())

这种方法的优点是使 hostingContextConfiguration 对象可用于记录器配置,但代价是会忽略程序启动早期抛出的 Exception

如果使用此方法,则 Log.Logger 将隐式分配,并在应用程序关闭时关闭。

版本管理

此软件包跟踪其对 Microsoft.Extensions.Hosting 依赖项的版本控制和目标框架支持。

产品 兼容和附加的目标框架版本。
.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 包 (286)

显示依赖于 Serilog.Extensions.Hosting 的前 5 个 NuGet 包

下载
Serilog.AspNetCore

Serilog 支持 ASP.NET Core 日志记录

Umbraco.Cms.Infrastructure

包含运行 Umbraco CMS 所需的基础设施程序集。

Blauhaus.Analytics.Serilog

包描述

DotNetCore.Logging

DotNetCore.Logging

ComplianceAuditSystems.AcabimCommonServices

包描述

GitHub 存储库 (77)

显示依赖于 Serilog.Extensions.Hosting 的前 5 个最受欢迎的 GitHub 存储库

存储库 星星数
netchx/netch
一个简单的代理客户端
abpframework/abp
基于ASP.NET Core的开源Web应用程序框架!提供了一个基于.NET最佳实践的、具有主观架构的企业软件解决方案。它提供了基本的基础设施、横向关注点实现、启动模板、应用程序模块、UI主题、工具和文档。
quartznet/quartznet
Quartz企业调度.NET
RayWangQvQ/BiliBiliToolPro
B站(bilibili)自动任务工具,支持docker、青龙、k8s等多种部署方式。敏感肌也能用。
Kareadita/Kavita
Kavita是一款快速、功能丰富的跨平台阅读服务器。旨在满足所有阅读需求的全解决方案。设置您自己的服务器,并与您的朋友和家人共享您的阅读收藏。
版本 下载 最后更新
8.0.0 29,178,380 11/15/2023
8.0.0-dev-00145 166 4/5/2024
8.0.0-dev-00143 193 3/25/2024
8.0.0-dev-00140 141 3/14/2024
8.0.0-dev-00137 409 11/15/2023
7.0.0 28,116,619 5/11/2023
7.0.0-dev-00131 667 5/10/2023
7.0.0-dev-00129 6,587 5/5/2023
7.0.0-dev-00126 609 5/5/2023
5.1.0-dev-00123 13,273 3/21/2023
5.0.1 80,194,832 7/18/2022
5.0.1-dev-00113 1,056 7/18/2022
5.0.0 1,686,683 7/8/2022
5.0.0-dev-00108 619 7/8/2022
5.0.0-dev-00095 46,018 3/21/2022
5.0.0-dev-00094 690 3/21/2022
5.0.0-dev-00093 316,062 3/4/2022
4.2.1-dev-00092 8,537 2/27/2022
4.2.0 48,287,461 11/8/2021
4.2.0-dev-00079 710 11/8/2021
4.1.2 74,997,801 3/3/2021
4.1.2-dev-00062 884 3/3/2021
4.1.1 29,501 3/2/2021
4.1.1-dev-00058 1,456 3/2/2021
4.1.0 258,800 2/24/2021
4.1.0-dev-00054 953 2/23/2021
4.0.0 331,965 2/14/2021
4.0.0-dev-00051 100,418 10/9/2020
4.0.0-dev-00050 945 10/9/2020
3.1.0 45,079,612 5/27/2020
3.1.0-dev-00041 1,032 5/27/2020
3.1.0-dev-00037 1,119 5/24/2020
3.1.0-dev-00035 25,541 5/11/2020
3.0.0 50,981,412 8/27/2019
3.0.0-dev-00024 1,104 8/27/2019
3.0.0-dev-00019 128,282 6/26/2019
3.0.0-dev-00016 5,829 6/24/2019
3.0.0-dev-00015 1,174 6/24/2019
2.0.1-dev-00009 97,160 9/21/2018
2.0.1-dev-00007 2,116 8/5/2018
2.0.1-dev-00004 1,922 7/19/2018
2.0.0 2,219,947 7/19/2018
2.0.0-dev-00001 21,168 6/3/2018