Log4net日志框架
命名空间增加特性
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
App.config配置文件
在应用程序需要增加配置文件
<log4net>
<!--日志对象根设置-->
<root>
<!--定义Level级别,若没定义,默认为Debug-->
<!--OFF>FATAL>ERROR>WARM>INFO>DEBUG>ALL-->
<level value="ALL"/>
<!--定义日志对象使用的appender,通过appeder-ref来注册-->
<appender-ref ref="LogFileAppenderError"/>
<appender-ref ref="LogFileAppenderCommunication"/>
</root>
<!--定义具体的logger对象 通过调用LogManager.GetLogger(“wcflog”)函数,你可以检索具有该名字的日志。如果LogManager.GetLogger(…)打开的不是预定义的日志对象,则该日志对象会继承根日志对象的属性。知道了这一点,我们可以说,其实<logger>标签并不是必须的-->
<logger name="wcflog" additivity="true">
<!--additivity 是否确认子日志对象继承父日志对象的appender列表,默认为True:确认-->
<!--注意优先级,优先级低的要放在后面-->
<level value="INFO"/>
<level value="DEBUG"/>
</logger>
<appender name="LogFileAppenderCommunication" type="log4net.Appender.RollingFileAppender" >
<!--配置在root注册的appender-ref具体属性-->
<param name="File" value="Com//"/>
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyy-MM-dd HHmmss.CO" />
<param name="AppendToFile" value="true"/>
<!--按照文件的大小进行变换日志文件-->
<param name="RollingStyle" value="Date" />
<!--单个文件最大数量-->
<param name="MaximumFileSize" value="1000KB"/>
<!--保留的log文件数量 超过此数量后 自动删除之前的 -->
<param name="MaxSizeRollBackups" value="100" />
<!--最小锁定模型以允许多个进程可以写入同一个文件-->
<param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<!--type属性,定义类型-->
<layout type="log4net.Layout.PatternLayout">
<!--定义日志会话(logger session)开始输出的文字-->
<param name="Header" value="异常开始记录 :"/>
<!--定义日志会话(logger session)结束输出的文字-->
<!--<param name="Footer" value="[Footer]\r\n"/>-->
<!--输出信息的模式: -->
<param name="ConversionPattern" value="%n%d%m"/>
</layout>
<!--过滤器,只需要min和max之间的级别-->
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value ="INFO"/>
<levelMax value ="INFO"/>
</filter>
</appender>
</log4net>
注意,以下方式过滤时存在问题
<param name="levelMin" value="FATAL">
<param name="levelMax" value="FATAL">
欢迎C#或Winform技术交流,C#交流群:83868794