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

来源:互联网 发布:西西软件下载手机软件 编辑:程序博客网 时间:2024/06/14 13:49

一、使用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的准确性,否则是无法插入数据库中的。

       

0 0
原创粉丝点击