躺坑过程:
一,引用log4net.dll。
二,AssemblyInfo里添加
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
这样就会监视配置文件,配置文件一变动,就会生成文件夹及文件,而且不能删除,可只要把配置改成有错的,就能删除,这样也好,适合慢慢试。
三,log4net.config:一定要将log4net.config的属性改成,复制到输出目录:始终复制,生成操作:内容。
<?xml version="1.0" encoding="utf-8" ?>
<configuration><configSections><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /></configSections><log4net debug="true"> //后来试出,加不加debug="true"都正常<!--<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"><file value="Log/" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Date" /><param name="DatePattern" value="yyyyMMdd".log"" /><param name="MaxSizeRollBackups" value="10000" /><param name="MaximumFileSize" value="10M" /><param name="StaticLogFileName" value="false" /><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%m%n" /></layout></appender>-->
//配置内容,不要写错,网上有些错误,试了好久<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"><param name="File" value="bin\\Log\\LogError\\" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Date" /><param name="DatePattern" value="yyyyMMdd".log"" /><param name="MaxSizeRollBackups" value="10000" /><param name="MaximumFileSize" value="10M" /><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><param name="StaticLogFileName" value="false" /> //自动生成日期文件名<layout type="log4net.Layout.PatternLayout"><!--<param name="ConversionPattern" value="<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p <BR>%n异 常 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" />--><param name="ConversionPattern" value="%m%n" />//配置写入格式</layout></appender><appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"><param name="File" value="bin\\Log\\LogInfo\\" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Date" /><param name="DatePattern" value="yyyyMMdd".log"" /><param name="MaxSizeRollBackups" value="10000" /><param name="MaximumFileSize" value="10M" /><param name="StaticLogFileName" value="false" /><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><layout type="log4net.Layout.PatternLayout"><!--<param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p <BR>%n日 志 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" />--><param name="ConversionPattern" value="%m%n" /></layout></appender><logger name="logerror"><level value="ALL" /><appender-ref ref="ErrorAppender" /></logger><logger name="loginfo"><level value="ALL" /><appender-ref ref="InfoAppender" /></logger> <root> //没试出到底有什么用,但不配置其它的内容时,这段和上面对应的打开后,就可以调试。<!--<level value="DUBEG" /><appender-ref ref="RollingLogFileAppender" />--></root></log4net>
</configuration>
四,操作类
public class LogHelper{public readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");public readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");public void WriteLog(string info){if (loginfo.IsInfoEnabled){loginfo.Info(info);}}public void WriteLog(string info, Exception se){if (logerror.IsErrorEnabled){logerror.Error(info, se);}}}
五,在webservice里测试
LogHelper lh = new LogHelper();
lh.WriteLog(string.Format("当前的时间{0}", DateTime.Now.ToString()));
lh.WriteLog("error", new Exception());