1、在根目录创建log4net.config后,把下面代码复制进去
<?xml version="1.0" encoding="utf-8" ?> <configuration> <!-- Level的级别,由高到低 --> <!-- None > Fatal > ERROR > WARN > DEBUG > INFO > ALL--> <!-- 解释:如果level是ERROR,则在cs文件里面调用log4net的info()方法,则不会写入到日志文件中--> <log4net> <!--错误日志类--> <logger name="logerror"> <!--日志类的名字--> <level value="ALL" /> <!--定义记录的日志级别--> <appender-ref ref="ErrorAppender" /> <!--记录到哪个介质中去--> </logger> <!--错误日志附加介质--> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <!-- name属性指定其名称,type则是log4net.Appender命名空间的一个类的名称,意思是,指定使用哪种介质--> <param name="File" value="Log\\" /> <!--日志输出到exe程序这个相对目录下--> <param name="AppendToFile" value="true" /> <!--输出的日志不会覆盖以前的信息--> <param name="MaxSizeRollBackups" value="100" /> <!--备份文件的个数--> <param name="MaxFileSize" value="10240" /> <!--当个日志文件的最大大小--> <param name="StaticLogFileName" value="false" /> <!--是否使用静态文件名--> <param name="DatePattern" value="yyyy\\yyyyMM\\yyyyMMdd‘.txt‘" /> <!--日志文件名--> <param name="RollingStyle" value="Date" /> <!--文件创建的方式,这里是以Date方式创建--> <!--错误日志布局--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="====================%n异常时间:%d %n异常级别:%-5p%n异常信息:%m%n====================%n" /> </layout> </appender> </log4net> </configuration>
2、如果多种类型要分文件夹存放那么重新在上一个appender结尾再添加一个appender,再上一个logger结尾再加一个logger即可
<!--信息日志类--> <logger name="loginfo"> <level value="ALL" /> <appender-ref ref="InfoAppender" /> </logger>
<!--信息日志附加介质--> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyy\\yyyyMM\\yyyyMMdd‘.txt‘" /> <param name="RollingStyle" value="Date" /> <!--信息日志布局--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="====================%n异常时间:%d %n异常级别:%-5p%n异常信息:%m%n====================%n" />
</layout>
</appender>
3、log4net.config文件属性中,设置复制到输出目录为如果较新则复制
4、在AssemblyInfo.cs文件中加入这条语句
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
5、创建实际操作的LogHelper类,其中代码如下:(其中的logerror对应logger中的name值,)
public static ILog log = log4net.LogManager.GetLogger("logerror"); public static void Error(string msg) { log.Error(msg); }
6、调用即可,LogHelper.Error("出现错误啦");