当前位置: 代码迷 >> 综合 >> log4net在webservice调用实现过程
  详细解决方案

log4net在webservice调用实现过程

热度:29   发布时间:2023-10-14 21:59:34.0

躺坑过程:

一,引用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&quot;.log&quot;" /><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&quot;.log&quot;" /><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="&lt;HR COLOR=red&gt;%n异常时间:%d [%t] &lt;BR&gt;%n异常级别:%-5p &lt;BR&gt;%n异 常 类:%c [%x] &lt;BR&gt;%n%m &lt;BR&gt;%n &lt;HR Size=1&gt;"  />--><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&quot;.log&quot;" /><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="&lt;HR COLOR=blue&gt;%n日志时间:%d [%t] &lt;BR&gt;%n日志级别:%-5p &lt;BR&gt;%n日 志 类:%c [%x] &lt;BR&gt;%n%m &lt;BR&gt;%n &lt;HR Size=1&gt;"  />--><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());

 

  相关解决方案