gpt4 book ai didi

.net - 使用 CaSTLe ILogger 和 log4net 迁移到语义日志记录

转载 作者:行者123 更新时间:2023-12-02 15:48:14 25 4
gpt4 key购买 nike

开始使用新的 .NET 4.5 的最佳方式是什么 EventSource用于记录当前正在使用 CaSTLe 的应用程序的类 Logging Facility与log4net结合。

最初我认为可以扩展 CaSTLe 的 ILogger 接口(interface)来支持 EventSource 促进的更丰富的语义式日志记录 ( Issue raised ),但现在我不太确定它们是否真的可以很好地协同工作。

我注意到Semantic Logging Application Block提供了一种使用EventSource的实现,但这当然不是使用ILogger。

最佳答案

如果您想转向一般语义日志记录,而不仅仅是 SLAB 实现,您可能会发现转向 Serilog 更容易。 。 (免责声明 - 我启动了该项目,尽管它现在已经很完善)。

Serilog 实现与 EventSource 及其 friend 相同的语义日志记录概念,但使用从 CaSTLe 获得的经典“ILogger”风格 API。

log.Information("The cart contains {CartSize} items", cart.Count);

此示例将名为 CartSize 的结构化属性与事件相关联,就像您将参数传递给 EventSource 方法一样。 (您甚至可以使用经典的{0}数字格式说明符,并且仍然获得具有编号属性而不是命名属性的结构化事件!)

由于 API 是兼容的,因此将现有应用从一种 ILogger 样式迁移到另一种样式比将所有内容移植到 EventSource 的阻力要小。有多种方法可以解决这个问题,如果您决定采用它,我会密切关注任何后续问题。

关于.net - 使用 CaSTLe ILogger 和 log4net 迁移到语义日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21867875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com