首页 新闻 搜索 专区 学院

asp.net core中如何通过appsettings.json配置serilog

1
悬赏园豆:50 [已解决问题] 解决于 2017-05-05 18:57

目前我们在项目中是在代码中配置的:

Log.Logger = new LoggerConfiguration()
.MinimumLevel.Error()
.WriteTo.RollingFile(Path.GetFullPath("logs/log-{Date}.txt"))
.CreateLogger();

但这样修改日志级别不方便,请问如何通过appsettings.json进行配置?

dudu的主页 dudu | 高人七级 | 园豆:38970
提问于:2017-05-04 22:11
< >
分享
最佳答案
0

1)安装nuget包

 Install-Package Serilog.Settings.Configuration 

2)修改Startup的代码

Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(Configuration)
.WriteTo.RollingFile(Path.GetFullPath("logs/log-{Date}.txt"))
.CreateLogger();

3)在appsettings.json中添加配置

  "Serilog": {
    "MinimumLevel": {
      "Default": "Error",
      "Override": {
        "System": "Warning",
        "Microsoft": "Warning",
        "Cnblogs": "Debug"
      }
    }
  }

参考:Overriding Default Settings

dudu | 高人七级 |园豆:38970 | 2017-05-05 18:56
其他回答(1)
0
Install-Package Serilog.Settings.AppSettings
Log.Logger = new LoggerConfiguration()
  .ReadFrom.AppSettings()
  ... // Other configuration here, then
  .CreateLogger()
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="serilog:minimum-level" value="Verbose" />
    <!-- More settings here -->

官方文档里有说明:
https://github.com/serilog/serilog/wiki/AppSettings

收获园豆:50
蝌蝌 | 园豆:158 (初学一级) | 2017-05-05 07:26

这个是web.config的配置

支持(0) 反对(0) dudu | 园豆:38970 (高人七级) | 2017-05-05 18:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册