Serilog.Settings.AppSettings 3.0.0

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

// Install Serilog.Settings.AppSettings as a Cake Tool
#tool nuget:?package=Serilog.Settings.AppSettings&version=3.0.0                

Serilog.Settings.AppSettings 构建状态 NuGet 版本 加入 https://gitter.im/serilog/serilog 聊天

用于 Serilog 的 XML <appSettings> 读取器。

入门指南

需要从 NuGet 安装 <appSettings> 支持包

Install-Package Serilog.Settings.AppSettings

要从 <appSettings> 读取配置,请使用您的 LoggerConfiguration 的扩展方法 ReadFrom.AppSettings()

Log.Logger = new LoggerConfiguration()
  .ReadFrom.AppSettings()
  ... // Other configuration here, then
  .CreateLogger()

可以混合使用 XML 和基于代码的配置,但每个输出必须使用 XML 或代码中的一种方式配置 - 代码中添加的输出无法通过应用程序设置进行修改。

配置语法

为了配置记录器,应在程序的两个配置文件 App.configWeb.config 中包含 <appSettings> 元素。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="serilog:minimum-level" value="Verbose" />
    

Serilog 设置以 serilog: 前缀。

设置最低级别

使用 serilog:minimum-level 设置键设置应用程序的日志级别。

    <add key="serilog:minimum-level" value="Verbose" />

有效值是 LogEventLevel 列表中定义的值:VerboseDebugInformationWarningErrorFatal

添加输出

使用 serilog:write-to 键添加输出。设置名称与您在代码中使用配置方法名称相匹配,因此以下两种方式是等效的

    .WriteTo.Console()

在 XML 中

    <add key="serilog:write-to:Console" />

注意:使用 serilog:* 键时,需要唯一。

必须使用 serilog:using 语法指定存储库程序集。例如,为了配置

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

如果输出接受参数,则通过将参数名称附加到设置来指定它们。

    .WriteTo.File(@"C:\Logs\myapp-{Date}.txt", retainedFileCountLimit: 10)

在 XML 中

    <add key="serilog:write-to:File.path" value="C:\Logs\myapp-{Date}.txt" />
    <add key="serilog:write-to:File.retainedFileCountLimit" value="10" />

设置值中指定的任何环境变量(例如 %TEMP%)将在读取时适当地展开。

使用来自附加程序集的输出扩展

要使用来自其他程序集的输出和增强器,请使用 serilog:using 键指定它们。

例如,为了使用来自 Serilog.Sinks.EventLog 程序集的配置

    <add key="serilog:using:EventLog" value="Serilog.Sinks.EventLog" />
    <add key="serilog:write-to:EventLog.source" value="Serilog Demo" />

使用属性增强

要为日志事件附加额外的属性,请使用 serilog:enrich:with-property 指令指定它们。

例如,为了将具有值 "1.2-develop" 的属性 Release 添加到所有事件中

    <add key="serilog:enrich:with-property:Release" value="1.2-develop" />

添加最低级别覆盖

从 Serilog 2.1 开始,可以添加 最低级别覆盖 来更改某些特定命名空间的最小级别。这通过设置键 serilog:minimum-level:override: 后跟 源上下文前缀 完成。

例如,以下两种方式是等效的

Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Information()
    .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
    .MinimumLevel.Override("Microsoft.AspNetCore.Mvc", LogEventLevel.Error)

以及在 XML 中

    <add key="serilog:minimum-level" value="Information" />
    <add key="serilog:minimum-level:override:Microsoft" value="Warning" />
    <add key="serilog:minimum-level:override:Microsoft.AspNetCore.Mvc" value="Error" />

过滤

可以使用 Serilog.Filters.Expressions 包来指定过滤器;有关更多信息,请参阅那里的 README

从枚举设置值

在配置使用枚举值设置的输出时,请使用成员名称,而无需指定枚举的名称。

例如,为了将 File SinkRollingInterval 的配置设置为每天创建一个新的日志文件,请使用 Day 而不是 RollingInterval.Day

    <add key="serilog:write-to:File.rollingInterval" value="Day"/>

如果您指定了枚举的名称,您将收到类似于 System.ArgumentException: 请求的值 'RollingInterval.Day' 未找到 的错误

解构


LoggerConfiguration
    .Destructure.ToMaximumDepth(maximumDestructuringDepth: 3)
    .Destructure.ToMaximumStringLength(maximumStringLength: 3)
    .Destructure.ToMaximumCollectionCount(maximumCollectionCount: 3)
    .Destructure.AsScalar(typeof(System.Version))
    .Destructure.With(new CustomPolicy());

以及在 XML 中

<add key="serilog:destructure:ToMaximumDepth.maximumDestructuringDepth" value="3" />
<add key="serilog:destructure:ToMaximumStringLength.maximumStringLength" value="3" />
<add key="serilog:destructure:ToMaximumCollectionCount.maximumCollectionCount" value="3" />
<add key="serilog:destructure:AsScalar.scalarType" value="System.Version" />
<add key="serilog:destructure:With.policy" value="My.CustomPolicy, MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
产品 兼容和额外的计算目标框架版本。
.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 包 (49)

显示依赖 Serilog.Settings.AppSettings 的前 5 个 NuGet 包

下载
UmbracoCms.Core

包含运行 Umbraco Cms 所需的核心程序集。此包仅包含程序集,可用于包开发。使用 UmbracoCms 包在 Visual Studio 中将 Umbraco 配置为 ASP.NET 项目。

CertiPay.Common

包描述

测试

有见地的验收测试框架。

DDPlanet.Logging

基于 Serilog 的简单日志框架,适用于 ELK 堆栈,只需几行代码即可实现完全配置的日志记录

Slalom.Boost

无描述。

GitHub 仓库 (10)

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

仓库
win-acme/win-acme
一个简单的 ACME 客户端,适用于 Windows(与 Let's Encrypt 等产品一起使用)
jakubgarfield/Bonobo-Git-Server
Windows版Bonobo Git服务器是一个可以在您的IIS上安装的Web应用程序,您可以轻松地管理和连接到您的Git仓库。请访问主页以获取发布信息和更多信息。
大数工作室/DaxStudio
DAX Studio是一款用于在Power BI桌面版、Power Pivot for Excel和Analysis Services Tabular中编写、执行和分析DAX查询的工具。
EvilBeaver/OneScript
1C脚本执行环境
rzander/ruckzuck
Windows软件包管理器
版本 下载 最后更新
3.0.0 21,765 7/4/2024
3.0.0-dev-00080 80 7/3/2024
2.2.3-dev-00066 65,489 2/1/2021
2.2.3-dev-00063 19,725 5/10/2020
2.2.2 20,044,448 10/26/2018
2.2.2-dev-00059 1,601 10/26/2018
2.2.1-dev-00056 1,650 10/8/2018
2.2.1-dev-00054 2,017 9/22/2018
2.2.1-dev-00052 3,611 5/9/2018
2.2.0-dev-00048 2,325 3/29/2018
2.2.0-dev-00041 1,643 3/28/2018
2.1.2 2,562,530 9/19/2017
2.1.2-dev-00022 1,580 9/19/2017
2.1.1 5,224 9/18/2017
2.1.1-dev-00018 1,700 9/14/2017
2.1.0 652,202 2/14/2017
2.1.0-dev-00014 4,767 8/17/2016
2.1.0-dev-00013 1,682 8/17/2016
2.0.0 651,129 6/29/2016
2.0.0-beta-537 2,024 5/2/2016
2.0.0-beta-533 1,639 4/29/2016
2.0.0-beta-531 1,921 4/20/2016
2.0.0-beta-530 1,729 4/19/2016
2.0.0-beta-523 1,677 3/18/2016
2.0.0-beta-521 1,654 3/18/2016
2.0.0-beta-519 1,579 3/16/2016
2.0.0-beta-516 1,638 3/15/2016
2.0.0-beta-515 1,640 3/15/2016
2.0.0-beta-513 1,627 3/15/2016
2.0.0-beta-511 1,574 3/14/2016
2.0.0-beta-509 1,722 3/13/2016
2.0.0-beta-507 1,673 3/1/2016
2.0.0-beta-505 1,929 2/25/2016
2.0.0-beta-502 1,789 2/22/2016
2.0.0-beta-499 1,866 2/21/2016
2.0.0-beta-495 1,667 2/19/2016