• log4net日志功能使用


     

       早就想了解下log4net这个组件的使用,直至今日才有时间学习了一下,现在把学习的新的总结如下:

    (1)、在项目中添加log4net.dll引用。说明:该版本是1.2.10.0 ,log4net for .net framework2.0

    (2)、在Web.Config文件中添加如下配置代码:

    ............

     <!--log4net配置 BEGIN-->
      <configSections>
           <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      </configSections>
      <!---日志记录器,可以有一个,也可以有多个-->
      <log4net>
        <logger name="AppLogger1">
          <level value="INFO"></level>
          <appender-ref ref="LogFileAppender"></appender-ref>
        </logger>
        <logger name="AppLogger2">
          <level value="DEBUG"></level>
          <appender-ref ref="rollingFile"></appender-ref>
        </logger>
        <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
          <param name="File" value="SysLog/ErrorLog.txt"/>
          <param name="AppendToFile" value="true"/>
          <layout type="log4net.Layout.PatternLayout">
            <param name="Header" value="----------Start----------&#xA;"/>
            <param name="Footer" value="----------End----------&#xA;"/>
            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - %m%n"/>
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG"/>
            <param name="LevelMax" value="FATAL"/>
          </filter>
        </appender>
        <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net">
          <param name="File" type="" value="log/"/>
          <param name="AppendToFile" value="true"/>
          <param name="RollingStyle" value="Date"/>
          <param name="DatePattern" value="yyyyMMdd"/>
          <param name="StaticLogFileName" value="false"/>
          <Layout type="log4net.Layout.PatternLayout,log4net">
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
            <param name="Header" value="----------Start----------&#xA;"/>
            <param name="Footer" value="----------End----------&#xA;"/>
          </Layout>
        </appender>
      </log4net>
      <!--log4net配置 END-->

    ..................

    (3)、在项目中添加一个Global.asax(全局应用程序类),在Application_Start()方法中添加如下一行代码:

         void Application_Start(object sender, EventArgs e) 
        {
            // 在应用程序启动时运行的代码
            log4net.Config.XmlConfigurator.Configure();

        }

    (4)、按(2)步骤中红色部分标注,在项目根目录下,创建一个SysLog的文件夹,里面增加一个ErrorLog.txt的文本文件,用于记录错误日志的详细信息。

    (5)、在Web.Config文件中添加数据库连接字符串的配置代码:(这里用到的MSSQL2000数据库,这里可以根据需要进行修改设置)

        <appSettings>
        <add key="ConnectionString" value="Data Source=.;uid=sa;pwd=;Database=master"/>
      </appSettings>

    (6)、这里只举简单例子作简单说明:

    如在Default .aspx.cs文件中

             1)、首先添加using System.Data.SqlClient;的命名空间引用。 

             2)、protected void Page_Load(object sender, EventArgs e)
                  {
                        try
                       {
                                string conString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString1"];
                                SqlConnection con = new SqlConnection(conString);
                                con.Open();

                                Response.Write("<script language=JavaScript>alert('数据库连接成功!')</script>");

                       }
                       catch (Exception ex)
                       {
                                Response.Write("<script language=javascript>alert('数据库连接失败!')</script>");
                                log4net.ILog log = log4net.LogManager.GetLogger("AppLogger1");
                                log.Info("数据库连接失败,具体原因如下:", ex);
                       }
                  }

       这里的红色标记部分在Web.Config文件中配置的名称为ConnectionString,由于连接字符串书写错误,造成错误,这样的错误就在ErrorLog.txt文件中记录下来了。以下是摘自其中的日志信息。

    ----------Start----------
    2009-10-14 10:21:54,093 [4] INFO  AppLogger1 [(null)] (null) - 数据库连接失败,具体原因如下:
    System.InvalidOperationException: ConnectionString 属性尚未初始化。
       在 System.Data.SqlClient.SqlConnection.PermissionDemand()
       在 System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection)
       在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
       在 System.Data.SqlClient.SqlConnection.Open()
       在 _Default.Page_Load(Object sender, EventArgs e) 位置 j:/asp.net3.5/log4net/Default.aspx.cs:行号 21
    ----------End----------

  • 相关阅读:
    devDependencies和dependencies的版本写法
    dependencies 与 devDependencies 的区别
    Java +selenium Navigation接口介绍
    Java + selenium window()接口方法介绍
    Java + selenium Timeout接口用法介绍
    Java + selenium 启动谷歌浏览器
    selenium 3 下载 + Java使用
    Rsync 实现服务器文件的同步——服务端的安装配置
    selenium V1.0和V2.0差别对比
    PHP的安装配置
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/6121760.html
Copyright © 2020-2023  润新知