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