Serilog 动态丰富上下文
Serilog Dynamically enrich a context
是否有可能在 Serilog 中动态覆盖或扩展日志模板?
我有一个解析器 class,它逐行解析 XML,我想用行号扩展日志条目。我已经写了一个 enricher 来做到这一点,但我必须在函数开始时全局覆盖默认记录器并在结束时重置它,这甚至很难看(从编程的角度来看):D
Serilog 还有哪些其他选项,或者我错过了什么?
经过更多挖掘,我终于找到了适合我需要的解决方案。
我使用 LogContext.PushProperty
机制来推送 XmlReader
(或者更确切地说是包装器对象,因为与解构的类型匹配是精确的,并且 XmlReader
是一个工厂 returns 许多不同的 类) 到 LogContext
中,并向 LoggerConfiguration
添加了自定义解构以检测该包装类型的对象,然后根据我的喜好对其进行格式化。
是否有可能在 Serilog 中动态覆盖或扩展日志模板?
我有一个解析器 class,它逐行解析 XML,我想用行号扩展日志条目。我已经写了一个 enricher 来做到这一点,但我必须在函数开始时全局覆盖默认记录器并在结束时重置它,这甚至很难看(从编程的角度来看):D
Serilog 还有哪些其他选项,或者我错过了什么?
经过更多挖掘,我终于找到了适合我需要的解决方案。
我使用 LogContext.PushProperty
机制来推送 XmlReader
(或者更确切地说是包装器对象,因为与解构的类型匹配是精确的,并且 XmlReader
是一个工厂 returns 许多不同的 类) 到 LogContext
中,并向 LoggerConfiguration
添加了自定义解构以检测该包装类型的对象,然后根据我的喜好对其进行格式化。