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 回滚文件输出介质