有没有办法通过appSetting配置来配置多个Serilog RollingFiles

2023-12-21

有没有办法通过appSetting配置多个Serilog RollingFiles?

我想为信息和错误级别创建单独的日志文件。


在应用程序设置中配置多个日志非常简单,任务是使用过滤器。我花了近 3 个小时试图弄清楚如何实现这一点。

我最终做了以下事情:

Startup.cs / Global.asax.cs

Log.Logger = new LoggerConfiguration()
           .WriteTo
           .Logger(x => x.Filter
           .ByIncludingOnly(logEvent => logEvent.Level == Serilog.Events.LogEventLevel.Error)
           .ReadFrom
           .AppSettings("error"))

           .WriteTo
           .Logger(x => x.Filter
           .ByIncludingOnly(logEvent => logEvent.Level == Serilog.Events.LogEventLevel.Information)
           .ReadFrom
           .AppSettings("info")).CreateLogger()

网页配置

<add key ="error:serilog:using:RollingFile" value="Serilog.Sinks.RollingFile"/>
<add key ="error:serilog:write-to:RollingFile.pathFormat" value="C:\log\error {Date}.txt"/>
<add key ="error:serilog:write-to:RollingFile.formatter" value="Serilog.Formatting.Json.JsonFormatter"/>

<add key ="info:serilog:using:RollingFile" value="Serilog.Sinks.RollingFile"/>
<add key ="info:serilog:write-to:RollingFile.pathFormat" value="C:\log\info {Date}.txt"/>
<add key ="info:serilog:write-to:RollingFile.formatter" value="Serilog.Formatting.Json.JsonFormatter"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法通过appSetting配置来配置多个Serilog RollingFiles 的相关文章

随机推荐

  • 速记类构造函数字段初始化

    我忍不住觉得有一种简写方法可以写成这样 public abstract class MessageBase public String Destination Sender Uid public MessageBase String des
  • 在 F# 中实现受限数字类型的习惯用法/实践?

    假设需要一种数值数据类型 其允许的值落在指定范围内 更具体地说 假设要定义一个最小值为 0 最大值为 5000 的整数类型 这种情况在很多情况下都会出现 例如在对数据库数据类型 XSD 数据类型等进行建模时 在 F 中对此类类型进行建模的最
  • android 在将数据插入数据库之前检查重复值

    String new recorded lastname a lastname record to database Cursor cursor db rawQuery SELECT lastname FROM people null if
  • 如何在 C 中一次清除多个位?

    我如何将所有这些简化为一行 REG BITA REG BITB REG BITC REG BITD REG BITE 您可以使用 按位或 运算符 REG BITA BITB BITC BITD BITE
  • 如何从 Map> 创建 Multimap

    我没有找到这样的多重映射构造 当我想这样做时 我会迭代映射 并填充多重映射 还有其他办法吗 final Map
  • NSOutlineView 组间距

    我正在开发 NSOutlineView SourceList 并希望用我自己的样式替换当前样式 以便更好地查看我的应用程序 我已经使用自定义 NSTableViewRows 更改了默认标题和内容单元格 这很好用 但现在我可以看到组之间有一个
  • 在 WebView 中禁用邮寄地址的自动链接

    android WebView 将自动检测 html 中的邮寄地址 并允许您单击它来启动地图 有没有办法在不更改本机代码的情况下禁用此功能 我可以在 html 标记中添加一些内容或取消 javascript 事件来防止这种情况发生吗 如果我
  • Angular 6 / 在 tsconfig.lib.json 中声明库的路径

    我正在尝试配置路径Angular 6库 我已经成功配置了以前的 Angular 项目的路径 这是我以前的应用程序的工作原理tsconfig json file compilerOptions baseUrl src paths class
  • 变量多态性的初始化

    假设您有以下代码 class A int i 4 A print void print System out println A class B extends A int i 2 this line public static void
  • 更新后的状态值不会在反应函数内部更新

    反应状态更新值显示在使用效果中 但内部函数仅显示旧值 const counter setCounter useState 0 我正在尝试更新设定间隔函数内的计数器值 const handleIncrease gt clearInterval
  • 规范模式对象应该在哪一层“更新”?

    因此 我在这里查看了一些有关规范模式的帖子 但尚未找到此问题的答案 我的问题是 在 n 层架构中 我的规范到底应该在哪里 更新 我可以将它们放在我的服务层 又名 应用程序层 有时被称为 基本上 aspx 代码隐藏会与之对话的东西 中 但我觉
  • 在自定义视图 onDraw 中使用硬件层

    所以我试图了解如何在自定义中正确使用硬件加速 如果可用 View那是持续的动画 这是我的基本前提onDraw canvas drawColor mBackgroundColor for Layer layer mLayers canvas
  • Doctrine2 映射:2 个字段映射到 1 个字段(ManyToOne)

    我有 2 个实体 即比赛和团队 一支球队可以进行一对多的比赛 但是 我的 Match 实体由 2 个字段组成 它们引用同一实体 Team 他们是 homeTeam 和 awayTeam 如何将团队中的同一字段 matches 引用为双向关系
  • Pyinstaller 和 py2exe 导致错误:“元组索引超出范围”

    这是我第一次使用 Pyinstaller 所以请耐心等待 为什么下面的结果会出错呢 我如何解决它 我正在尝试将我编写的python程序转换为windows exe C WINDOWS system32 gt pyinstaller C Us
  • 从窗口引用子用户控件中的网格

    我使用 ItemsControl 将许多用户控件添加到我的主窗口 这工作正常 但我想在将控件添加到 ItemsControl 时添加动画 我正在使用此线程中的代码 以动画方式插入 ItemsControl https stackoverfl
  • SBT 0.13.1 离线

    我试图了解 SBT 0 13 1 离线使用 我的目标是将离线环境所需的一切都存储在 U 盘上 我认为如果复制了 ivy 缓存 那么 SBT 就可以从中提取所需的所有内容 但情况似乎并非如此 例如 为了确定起见 我将首先删除 ivy2 文件夹
  • 应用程序 SQLite DB 存储在 Android 上的哪里

    我试图确定 Android 手机上应用程序 SQLite 数据库的存储位置 我正在测试 需要能够删除它并测试创建代码 在模拟器上 它位于 data data app package name something db 中 但我无法在实际手机
  • Java 7 自动资源管理 JDBC(try-with-resources 语句)

    如何将创建 接收连接 查询数据库以及可能处理结果的常见 JDBC 习惯与 Java 7 的自动资源管理 try with resources 语句 集成 Tutorial http docs oracle com javase tutori
  • spring 手动销毁bean而不是ctx.close()

    是否可以告诉spring的容器销毁特定的bean 原型 以节省内存 我不想使用 ctx close 来看到这个 bean 被销毁 而是在运行时 如果我理解正确的话 你想删除运行时在 ctx 中定义的 bean 我会使用BeanDefinit
  • 有没有办法通过appSetting配置来配置多个Serilog RollingFiles

    有没有办法通过appSetting配置多个Serilog RollingFiles 我想为信息和错误级别创建单独的日志文件 在应用程序设置中配置多个日志非常简单 任务是使用过滤器 我花了近 3 个小时试图弄清楚如何实现这一点 我最终做了以下