log4net详解---Appender

a.日志输出介质接口:

1.IAppender:基础介质接口

void: Close()  关闭介质

void:DoAppend(LoggingEvent loggingEvent) 执行介质动作

Name:介质的名称

2. IBulkAppender:扩展了一个可批量执行介质动作接口

 

3.IFlushable:缓冲区接口

bool:Flush(int millisecondsTimeout)  刷新缓冲区操作

 

b.抽象的输出介质AppenderSkeleton

  AppenderSkeleton介质继承接口: IAppender, IBulkAppender, IOptionHandler, IFlushable。

  AppenderSkeleton在处理介质接口DoAppend行为时,扩展了几个虚方法如下:

 

 FilterEvent(loggingEvent) 实现如下:这个函数作用是用于过滤事件  介质输出级别符合条件并且过滤匹配结果补位拒绝状态 则筛选通过

 

IsAsSevereAsThreshold(loggingEvent.Level):日志输出级别控制   记录日志事件的级别不能小于介质的输入级别,否则不做日志记录

 

PreAppendCheck() 实现如下:输出介质所使用的layout检测

 

RenderLoggingEvent(): 渲染日志事件,下面的ReusableStringWirter为默认可用的字符串输出器

 

c.常见的数据介质

1.TextWriterAppender 文本输出介质

 

2.FileAppender 继承自TextWriterAppender  文件输出介质

 

3.RollingFileAppender 继承自FileAppender 回滚文件输出介质

 

posted @ 2018-01-23 14:43  AntColony  阅读(590)  评论(0编辑  收藏  举报