1.从log4net官网下载最新的log4net.dll
2.设置配置文件在app.config
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
</configSections>
<log4net debug="false"> <!--使用Rolling方式记录日志按照日来记录日志-->
<appender name="RunLog" type="log4net.Appender.RollingFileAppender">
<!--文件名,可以相对路径,也可以绝对路径,这里只给定了文件夹-->
<file value="log\\runtime\\" />
<!--最小锁定模型以允许多个进程可以写入同一个文件,解决文件独占问题-->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<!--是否增加文件-->
<appendToFile value="true" />
<!--日志追加类型,Date为按日期增加文件,Size为按大小-->
<rollingStyle value="Date" />
<!--文件命名格式,非日期参数化要进行转义,如自定义文件后缀-->
<datePattern value="yyyyMM\\yyyy-MM-dd".log"" />
<!--是否固定文件名-->
<staticLogFileName value="false" />
<!--内容布局-->
<layout type="log4net.Layout.PatternLayout">
<!--头部-->
<header value="----------------------header-------------------------- "/>
<!--结尾-->
<footer value="----------------------footer-------------------------- "/>
<!--输出格式化-->
<conversionPattern value="当前时间:%d [%p] %m %n" />
</layout>
<!--过滤器-->
<filter type="log4net.Filter.LevelRangeFilter">
<!--只接受最小等级与最大等级之间的日志输出,这里只接受INFO级别的输出-->
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender> <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
<file value="log\\error\\" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMM\\yyyy-MM-dd".log"" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<header value="----------------------header-------------------------- "/>
<footer value="----------------------footer-------------------------- "/>
<conversionPattern value="当前时间:%d 错误类型:[%p] 信息:%m 所在类:%F 所在行:%L %n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<!--只接受最小等级与最大等级之间的日志输出,其他的被过滤,这里接受WARN(警告),ERROR(错误),FATAL(致命)级别的输出-->
<param name="LevelMin" value="WARN" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender> <!--定义日志的输出媒介-->
<root>
<!--RollingFileAppender事件日志-->
<appender-ref ref="RunLog" />
<appender-ref ref="ErrorLog" />
</root> </log4net> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
3.在Properties/AssemblyInfo.cs,添加下面一个代码
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
4.在程序中使用
//日志
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //记录程序启动
log.Info("程序启动"); //记录程序发生错误
log.Error("发生错误:HttpListener已经被关闭");