c# - 如果每个时间跨度发生/发生超过 N 次,我如何设置 log4net 来记录某些事件?

标签 c# .net log4net event-log

基本上,我希望只有在每分钟发生超过 100 次(例如)时,我才能够在我的应用程序中记录诸如“HTTP 超时”之类的事件。

有什么方法可以配置 log4net 来处理这样的任务吗?

提前致谢

最佳答案

不,您不能将其配置为那样。

但是,您可以通过编写自己的自定义 Appender 来相当轻松地实现这一点。简单地从 AppenderSkeleton 继承,并用您自己的逻辑覆盖 Append 方法(根据需要将事件参数传递给基础实现)。

你类中的任何公共(public)属性都可以由 log4net 从配置文件中自动加载,所以你也可以通过这种方式指定阈值速率。

关于c# - 如果每个时间跨度发生/发生超过 N 次,我如何设置 log4net 来记录某些事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9385684/

相关文章:

c# - 数据注释 - 长类型的范围属性

c# - 在运行时创建 XML

.net - asp.net登录页面问题

c# - 使用 Simple Injector 将开放通用类型注册为回退

c# - 在立即窗口中查看 log4net 的调试消息

c# - 使用c#在asp.net中获取Bootstrap下拉复选框列表检查值的检查项

c# - 如何在一行代码中转义所有值得转义的字符?

c# - 对 MFC/.net/WPF 感到困惑

logging - 抑制内部 log4net 错误消息

log4net - 混合 log4cxx 和 log4net