有条件地单独禁用 Serilog 接收器

2023-11-30

我的 .net core 应用程序基本配置上有 Serilog,如下所示:-

Log.Logger = new LoggerConfiguration()
        .ReadFrom.Configuration(Configuration)
        .Enrich.FromLogContext()
        .WriteTo.File(@"./logs/log-.log", rollingInterval: RollingInterval.Day, outputTemplate: LOG_TEMPLATE)
        .WriteTo.Console(outputTemplate: LOG_TEMPLATE, theme: AnsiConsoleTheme.Literate)
        .WriteTo.SomeOtherLog()
        .CreateLogger();

现在假设我希望根据条件写入 SomeOtherLog。人们会怎样做呢?

就像是

if(conditon)
.WriteTo.SomeOtherLog()

As of 串行日志2.9.0你现在可以使用.WriteTo.Conditional并指定定义接收器是否被写入的条件。

Log.Information("Hello");
Log.CloseAndFlush();

var configuration = new LoggerConfiguration()
    .ReadFrom.Configuration(Configuration)
    .Enrich.FromLogContext()
    .WriteTo.File(@"./logs/log-.log", rollingInterval: RollingInterval.Day,
        outputTemplate: LOG_TEMPLATE)
    .WriteTo.Console(outputTemplate: LOG_TEMPLATE, theme: AnsiConsoleTheme.Literate)
    .WriteTo.Conditional(evt => condition, wt => wt.SomeOtherLog());

Log.Logger = configuration.CreateLogger();
// ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有条件地单独禁用 Serilog 接收器 的相关文章

  • WPF 中的屏幕分辨率问题?

    我将在 WPF 中使用以下代码检测分辨率 double height System Windows SystemParameters PrimaryScreenHeight double width System Windows Syste
  • 为什么存在 async 关键字

    浏览 msdn 9 频道视频时 我发现以下未答复的评论 希望有人能解释一下 我不明白 async 关键字的意义 为什么不直接允许 任何时候方法返回任务时都会使用await关键字 就像迭代器一样 可以在任何返回 IEnumerable 的方法
  • clang 格式换行符在错误的位置

    给出以下代码行 get abc manager get platform status abc platform status sw update status fill update status actions allowed stat
  • 在 VS2017 下使用 Conan 和 CMake 项目进行依赖管理

    我正在尝试使用 CMake 与 VS2017 集成为 C 设置一个开发环境 以便在 Linux x64 下进行编译 为了更好地管理依赖关系 我选择使用 Conan 但我对这个软件还很陌生 我想知道让 VS2017 识别项目依赖关系的最佳方法
  • Subversion 和 Visual Studio 项目的最佳实践

    我最近开始在 Visual Studio 中处理各种 C 项目 作为大型系统计划的一部分 该系统将用于替换我们当前的系统 该系统是由用 C 和 Perl 编写的各种程序和脚本拼凑而成的 我现在正在进行的项目已经达到了颠覆的临界点 我想知道什
  • 将字节数组转换为托管结构

    更新 这个问题的答案帮助我编写了开源项目GitHub 上的 AlicanC 现代战争 2 工具 https github com AlicanC AlicanC s Modern Warfare 2 Tool 你可以看到我是如何阅读这些数据
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • 在 C# Winforms 应用程序中嵌入 Windows XP 主题

    我有一个旧版 C Windows 窗体应用程序 其布局是根据 Windows XP 默认主题设计的 由于需要将其作为 Citrix 应用程序进行分发 该应用程序现在看起来像经典主题应用程序 因为 Citrix 不鼓励使用主题系统服务 所以
  • 从 C 结构生成 C# 结构

    我有几十个 C 结构 我需要在 C 中使用它们 典型的 C 结构如下所示 typedef struct UM EVENT ULONG32 Id ULONG32 Orgin ULONG32 OperationType ULONG32 Size
  • SFINAE 如何使用省略号?

    过去 当使用 SFINAE 选择构造函数重载时 我通常使用以下内容 template
  • 如何使用MySqlCommand和prepare语句进行多行插入?(#C)

    Mysql 给出了如何使用准备语句和 NET 插入行的示例 http dev mysql com doc refman 5 5 en connector net programming prepared html http dev mysq
  • 带 If 的嵌套 For 循环的时间复杂度

    void f int n for int i 1 i lt n i if i int sqrt n 0 for int k 0 k lt pow i 3 k do something 我的思考过程 执行if语句的次数 sum i 1 to
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 从 Code::Blocks 运行程序时出现空白控制台窗口 [重复]

    这个问题在这里已经有答案了 当我尝试在 Code Blocks 中构建并运行新程序时 控制台窗口弹出空白 我必须单击退出按钮才能停止它 它对我尝试过的任何新项目 包括 Hello world 都执行此操作 奇怪的是 它对于我拥有的任何旧项目
  • C# 中的常量和只读? [复制]

    这个问题在这里已经有答案了 可能的重复 const 和 readonly 之间有什么区别 https stackoverflow com questions 55984 what is the difference between cons
  • .NET 客户端中 Google 表格中的条件格式请求

    我知道如何在 Google Sheets API 中对值和其他格式进行批量电子表格更新请求 但条件格式似乎有所不同 我已正确设置请求 AddConditionalFormatRuleRequest formatRequest new Add
  • C 中带有指针的结构的内存开销[重复]

    这个问题在这里已经有答案了 我意识到当我的结构包含指针时 它们会产生内存开销 这里有一个例子 typedef struct int num1 int num2 myStruct1 typedef struct int p int num2
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • 在 Xamarin 中获取 OutOfMemoryException

    java lang OutOfMemoryError 考虑增加 JavaMaximumHeapSize Java 执行时内存不足 java exe 我的 Visualstudio Xamarin 项目出现内存不足异常 请帮助我如何解决此问题

随机推荐

  • pip install 中的方括号是什么意思?

    我看到越来越多的命令是这样的 pip install splinter django 这些方括号有什么作用 您使用的语法是 pip install project extra 就你而言 你是installing the splinter软件
  • Go SQL 驱动程序获取接口{}列值

    我正在尝试使用 go sql 驱动程序从数据库表中读取数据 并将这些值转换为 map string interface 列名是映射的键 值是interface 我将所有列添加到一个数组中 我正在使用 RawBytes 的代码示例 位于htt
  • 从 WiFi 传感器读取 RSSI

    请帮助我如何用 Java 编写代码来读取 WiFi 传感器的接收信号强度指示器 我尝试使用套接字编程来做到这一点 但我所有的尝试都没有得到我想要的 现在我正在查看 J2me 我可能会得到很好的答案 但我发现我可能需要一些建议 谢谢 您使用的
  • 为什么这个 GLUT 程序无法编译?我缺少库或标头吗?

    我刚刚开始使用 Linux Mint 11 最近我决定将 OpenGL 编程作为一种爱好 我发现代码和技术相对简单 但是 我很难尝试将所有资源放在正确的位置 代码是 include
  • 内容解析器notifyChange()不工作

    我已经设置了一个片段来使用 CursorLoader 从自定义内容提供程序中提取数据 问题是 当我使用内容解析器更新 SQLite 表中的记录时 光标不会刷新 即getContext getContentResolver notifyCha
  • Java Swing (BoxLayout) 对齐问题

    我对 Java Swing 非常陌生 在获得良好的布局方面遇到了很多问题 我已经查看了谷歌 甚至该网站上的其他答案 但我发现没有任何信息似乎可以解决该问题 这是我努力的结果 正如您所看到的 标签 文本字段和按钮都没有对齐 我的目标是让它们都
  • 是否有任何有效的理由忽略捕获的异常

    哇 我刚刚从外包开发人员那里拿回了一个巨大的 C 项目 在进行代码审查时 我的分析工具揭示了很多它认为不好的东西 更令人沮丧的消息之一是 Exceptions DontSwallowErrorsCatchingNonspecificExce
  • 调整 selecInput 使其同时适用于两种不同的方法

    我使用两种多标准方法来查找用于生成地图的簇号 方法有VIKOR and TOPSIS 对于每种方法 我需要知道标准的目标是什么 即是否最大化 max 或最小化 min 我有两个标准 所以我创建了两个selectInput供用户选择是否愿意m
  • 需要帮助使用 Bash 和 sed 着色/替换任意字符串

    我正在使用基于此处使用的技术的 bash 脚本 在 bash 中获取颜色输出为我的构建和其他脚本的输出着色 使内容更易于阅读 我的构建中的一个步骤执行 git pull 并且 git 服务器在一堆其他输出中吐出一个像这样的 欢迎 字符串 W
  • 使用Python或graphviz绘制鱼骨图

    我正在尝试用Python生成鱼骨图 因果图或石川图 有没有办法让它更像标准的鱼骨图 from graphviz import Digraph A HW Root SW Root Electric HW ink HW windows SW D
  • Quartus Prime 中的“多个常量驱动程序”Verilog 错误

    我正在致力于用 Verilog 设计一个有限状态机来表示堆栈 该模块如下 module state machine s Enable Clock Resetn c OF Err UF Err input 2 0 s input Enable
  • 具有表达式的属性中使用的可空 DateTime 返回意外的默认值

    我有以下两个方法扩展 public static class DateTimeConverter public static DateTime Convert this DateTime time gt time null new Date
  • Java中激活其他进程的窗口

    我有两个 Java swing 应用程序 意味着在两个 JVM 中运行 有什么办法可以在它们之间切换吗 通过 Java 代码激活另一个应用程序的窗口 您可以尝试使用JNA 我将使用 Maven 为您提供一些适用于 Windows 的代码 或
  • 在 MySQL 中存储 PDF 文件

    如何将 PDF 文档存储在 MySQL 的字段中 目前 我有一个客户列表 每个客户都有一个包含其帐户信息的证书 他们可以将其提供给其他公司以证明他们是我们的客户 目前 他们的证书以 PDF 格式导出并通过电子邮件发送给工作人员 客户也会收到
  • 导航组件 popUpTo bug

    最近我遇到了我询问的问题here 但当我试图弄清楚发生了什么时 我总是偶然发现同样的问题 这就是我所拥有的 我有一个集合 预览 编辑片段 我需要在片段之间进行导航 但是从编辑片段导航到预览片段后 我希望后退按钮将用户带到集合片段而不是编辑片
  • C# - 从 FTP 下载上次修改日期较高的文件

    我有一个包含一些文件的 FTP 服务器 我在本地目录中有相同的文件 在C 当我运行该程序时 我希望它搜索 FTP 服务器中上次修改时间戳晚于本地目录中相同文件 同名 的所有文件 并下载找到的所有文件 有人可以给我帮助或提示吗 我会感谢所有的
  • 将派生类序列化/反序列化为基类

    例如我有以下课程 public abstract class Device public class WindowsDevice Device public class AndroidDevice Device 现在我想将 WindowsD
  • 如何在 .Net Core Identity 中实施 2FA?

    问题 如何强制现有用户在 Net Core 3 1 Identity 中设置 2FA 我已经在这里看到了几个答案 但我对它们有如下问题 如果用户未设置 2FA 页面 则重定向用户以在登录时设置 2FA 页面 问题是用户可以简单地跳转到不同的
  • 如何使用 Java 将字符串保存到文本文件?

    在 Java 中 我有来自名为 text 的字符串变量中的文本字段的文本 如何将 text 变量的内容保存到文件中 如果您只是输出文本 而不是任何二进制数据 则以下内容将起作用 PrintWriter out new PrintWriter
  • 有条件地单独禁用 Serilog 接收器

    我的 net core 应用程序基本配置上有 Serilog 如下所示 Log Logger new LoggerConfiguration ReadFrom Configuration Configuration Enrich FromL