在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Serilog 配置提供者源码下载:从 Microsoft.Extensions.Configuration 读取配置

Serilog 配置提供者源码下载:从 Microsoft.Extensions.Configuration 读取配置

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.13M
  • 下载次数:0
  • 浏览次数:46
  • 发布时间:2024-04-05
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
Serilog.Settings.Configuration 是一个能够从 Microsoft.Extensions.Configuration 源读取设置的 Serilog 设置提供者,这包括了 .NET Core 的 appsettings.json 文件。默认情况下,配置是从 Serilog 部分读取的。
以下是一个配置示例:
{
  "Serilog": {
    "Using":  [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
    "MinimumLevel": "Debug",
    "WriteTo": [
      { "Name": "Console" },
      { "Name": "File", "Args": { "path": "Logs/log.txt" } }
    ],
    "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
    "Destructure": [
      { "Name": "With", "Args": { "policy": "Sample.CustomPolicy, Sample" } },
      { "Name": "ToMaximumDepth", "Args": { "maximumDestructuringDepth": 4 } },
      { "Name": "ToMaximumStringLength", "Args": { "maximumStringLength": 100 } },
      { "Name": "ToMaximumCollectionCount", "Args": { "maximumCollectionCount": 10 } }
    ],
    "Properties": {
        "Application": "Sample"
    }
  }
}
安装此包后,使用 ReadFrom.Configuration() 并传递一个 IConfiguration 对象。
以下是一个使用示例:
static void Main(string[] args)
{
    var configuration = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json")
        .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", true)
        .Build();

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

    logger.Information("Hello, world!");
}
这个例子依赖于 Microsoft.Extensions.Configuration.Json, Serilog.Sinks.Console, Serilog.Sinks.File, Serilog.Enrichers.Environment 和 Serilog.Enrichers.Thread 包也被安装。更复杂的例子可以在示例文件夹中找到。
【实例截图】
【核心代码】
文件清单
└── serilog-settings-configuration-1d0e7bfc2e950ce3924714773c08ef707de9b17c
    ├── appveyor.yml
    ├── assets
    │   ├── icon.png
    │   └── Serilog.snk
    ├── Build.ps1
    ├── CHANGES.md
    ├── Directory.Build.props
    ├── global.json
    ├── LICENSE
    ├── README.md
    ├── sample
    │   └── Sample
    │       ├── appsettings.json
    │       ├── CustomFilter.cs
    │       ├── CustomPolicy.cs
    │       ├── LoginData.cs
    │       ├── Program.cs
    │       └── Sample.csproj
    ├── serilog-settings-configuration.sln
    ├── serilog-settings-configuration.sln.DotSettings
    ├── src
    │   └── Serilog.Settings.Configuration
    │       ├── ConfigurationLoggerConfigurationExtensions.cs
    │       ├── Properties
    │       │   └── AssemblyInfo.cs
    │       ├── Serilog.Settings.Configuration.csproj
    │       └── Settings
    │           └── Configuration
    │               ├── Assemblies
    │               │   ├── AssemblyFinder.cs
    │               │   ├── CompositeAssemblyFinder.cs
    │               │   ├── ConfigurationAssemblySource.cs
    │               │   ├── DependencyContextAssemblyFinder.cs
    │               │   └── DllScanningAssemblyFinder.cs
    │               ├── ConfigurationReader.cs
    │               ├── ConfigurationReaderOptions.cs
    │               ├── IConfigurationArgumentValue.cs
    │               ├── IConfigurationReader.cs
    │               ├── ILoggingFilterSwitch.cs
    │               ├── LoggingFilterSwitchProxy.cs
    │               ├── ObjectArgumentValue.cs
    │               ├── ResolutionContext.cs
    │               ├── StringArgumentValue.cs
    │               └── SurrogateConfigurationMethods.cs
    └── test
        ├── Serilog.Settings.Configuration.Tests
        │   ├── ApiApprovalTests.cs
        │   ├── ConfigurationReaderTests.cs
        │   ├── ConfigurationSettingsTests.cs
        │   ├── DllScanningAssemblyFinderTests.cs
        │   ├── DummyLoggerConfigurationExtensions.cs
        │   ├── DummyLoggerConfigurationWithMultipleMethodsExtensions.cs
        │   ├── DynamicLevelChangeTests.cs
        │   ├── LoggerConfigurationExtensionsTests.cs
        │   ├── ObjectArgumentValueTests.cs
        │   ├── ObjectArgumentValueTests.json
        │   ├── PublishSingleFileTests.cs
        │   ├── Serilog.Settings.Configuration.approved.txt
        │   ├── Serilog.Settings.Configuration.Tests.csproj
        │   ├── StringArgumentValueTests.cs
        │   ├── Support
        │   │   ├── AbstractClass.cs
        │   │   ├── ConfigurationBuilderExtensions.cs
        │   │   ├── ConfigurationReaderTestHelpers.cs
        │   │   ├── CustomConsoleTheme.cs
        │   │   ├── DelegatingSink.cs
        │   │   ├── DirectoryInfoExtensions.cs
        │   │   ├── Extensions.cs
        │   │   ├── JsonStringConfigSource.cs
        │   │   ├── PublishMode.cs
        │   │   ├── PublishModeExtensions.cs
        │   │   ├── ReloadableConfigurationSource.cs
        │   │   ├── Some.cs
        │   │   ├── StaticAccessorClasses.cs
        │   │   └── TestApp.cs
        │   └── xunit.runner.json
        ├── TestApp
        │   ├── nuget.config
        │   ├── Program.cs
        │   └── TestApp.csproj
        └── TestDummies
            ├── Console
            │   ├── DummyConsoleSink.cs
            │   └── Themes
            │       ├── ConcreteConsoleTheme.cs
            │       ├── ConsoleTheme.cs
            │       ├── ConsoleThemes.cs
            │       └── EmptyConsoleTheme.cs
            ├── DummyAnonymousUserFilter.cs
            ├── DummyConfigurationSink.cs
            ├── DummyHardCodedStringDestructuringPolicy.cs
            ├── DummyLoggerConfigurationExtensions.cs
            ├── DummyPolicy.cs
            ├── DummyRollingFileAuditSink.cs
            ├── DummyRollingFileSink.cs
            ├── DummyThreadIdEnricher.cs
            ├── DummyWithLevelSwitchSink.cs
            ├── DummyWrappingSink.cs
            └── TestDummies.csproj

17 directories, 83 files

标签:

实例下载地址

Serilog 配置提供者源码下载:从 Microsoft.Extensions.Configuration 读取配置

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警