使用Log4Net将系统日志信息记录到记事本和数据库中

一、使用Log4Net将日志记录到记事本中步骤

        1,将log4net.dll文件添加到项目引用中

        2,写日志记录器类如下:

  /// <summary>
    /// 日志记录器
    /// </summary>
    public class LogWriter
    {
        /// <summary>
        /// 记录调试信息
        /// </summary>
        /// <param name="message"></param>
        public static void Debug(string message)
        {
            log4net.ILog log = log4net.LogManager.GetLogger("Logger");
            if (log.IsDebugEnabled)
            {
                log.Debug(message);
            }
            log = null;
        }

        /// <summary>
        /// 记录错误信息
        /// </summary>
        /// <param name="message"></param>
        public static void Error(string message)
        {
            log4net.ILog log = log4net.LogManager.GetLogger("Logger");
            if (log.IsErrorEnabled)
            {
                log.Error(message);
            }
            log = null;
        }

        /// <summary>
        /// 记录致命错误
        /// </summary>
        /// <param name="message"></param>
        public static void Fatal(string message)
        {

            log4net.ILog log = log4net.LogManager.GetLogger("Logger");
            if (log.IsFatalEnabled)
            {
                log.Fatal(message);
            }
            log = null;
        }

        /// <summary>
        /// 记录一般信息
        /// </summary>
        /// <param name="message"></param>
        public static void Info(string message)
        {
            log4net.ILog log = log4net.LogManager.GetLogger("Logger");
            if (log.IsInfoEnabled)
            {
                log.Info(message);
            }
            log = null;
        }

        /// <summary>
        /// 记录警告信息
        /// </summary>
        /// <param name="message"></param>
        public static void Warn(string message)
        {
            log4net.ILog log = log4net.LogManager.GetLogger("Logger");
            if (log.IsWarnEnabled)
            {
                log.Warn(message);
            }
            log = null;
        } 

    }
         3,在web程序的根目录中添加log4net.config文件内容如下所示
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>
  <log4net>
    <!--<root>
       
   <level value="WARN" /> 
   <appender-ref ref="rollingFile" /> 
   
    </root>-->
    <logger name="Logger">
      <level value="ALL" />
      <appender-ref ref="rollingFile" />
    </logger>
    <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" type="" value="log/" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <datePattern value="yyyyMMdd'.txt'" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>
  </log4net>
</configuration>
  4,使用时进行如下调用就可以生成在应用程序的根目录下生成一个log文件夹,并且在文件夹中会生成以时间为名称的日志文件     

            LogWriter.Info("请选择认证方式Info");
            LogWriter.Warn("请选择认证方式Warn");
            LogWriter.Fatal("请选择认证方式Fatal");
            LogWriter.Error("请选择认证方式Error");
            LogWriter.Debug("请选择认证方式Debug");

二,将使用Log4Net将日志文件保存到数据库中

       参考链接点击打开链接(注意:这里配置的是sql server数据库)

       如要保存到Oracle或其他数据库,请链接点击打开链接,在这里你可以查询到使用Log4Net将日志信息保存到不同数据库的配置文件信息。

      其中我在做将日志信息保存到Oracle数据库时,遇到些问题,我们系统使用的是Oracle.DataAccess.dll,但是很多示例中给出的是System.Data.OracleClient.dll,所有导致在配置

<connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
 应该更改为 
<connectionType value="Oracle.DataAccess.Client.OracleConnection, Oracle.DataAccess.Client, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
在这里一定要注意Version和PublicKeyToken的准确性,否则是无法插入数据库中的。

       

使用Log4Net将系统日志信息记录到记事本和数据库中,布布扣,bubuko.com

使用Log4Net将系统日志信息记录到记事本和数据库中

上一篇:mysql基本用法


下一篇:第二十二篇:再写Windows驱动,再玩Windbg---NET