zoukankan      html  css  js  c++  java
  • 使用Log4Net将系统日志信息记录到记事本和数据库中

    版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/hxpjava1/article/details/32714855

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

    
    
    

           

查看全文
  • 相关阅读:
    .net 笔试面试总结(3)
    .net 笔试面试总结(2)
    .net 笔试面试总结(1)
    依赖注入
    ssh远程连接vm 安装的ubuntu
    ubuntu 安装vm-tool
    go调度: 第二部分-go调度器
    go调度: 第一部分-OS调度(操作系统调度)
    thrift简单示例 (go语言)
    thrift简单示例 (基于C++)
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10958629.html
  • Copyright © 2011-2022 走看看