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

使用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=http://www.mamicode.com/"WARN" /> >  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=http://www.mamicode.com/"System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />>
<connectionType value=http://www.mamicode.com/"Oracle.DataAccess.Client.OracleConnection, Oracle.DataAccess.Client, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
在这里一定要注意Version和PublicKeyToken的准确性,否则是无法插入数据库中的。