我如何设置log4net记录某些事件,如果它们在每个时间范围内发生/发生了N次以上?

提问

基本上,我希望仅当事件每分钟发生100次以上时(例如),才能在我的应用程序中记录这些事件,例如“ HTTP超时”.

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

提前致谢,

最佳答案

不可以,您不能将其配置为这种方式.

但是,您可以通过编写自己的自定义Appender轻松实现这一目标.只需从AppenderSkeleton继承,并使用您自己的逻辑覆盖Append方法(根据需要将event参数传递给基本实现).

类别中的任何公共属性都可以由log4net从配置文件中自动加载,因此您也可以通过这种方式指定阈值速率.