早就想了解下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---------- "/>
        <param name="Footer" value="----------End---------- "/>
        <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---------- "/>
        <param name="Footer" value="----------End---------- "/>
      </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----------

log4net日志功能使用的更多相关文章

  1. 如何在通用权限管理系统中集成log4net日志功能

    开发人员都知道,在系统运行中要记录各种日志,自己写一个日志功能,无论是在效率还是功能扩展上来说都不是很好,目前大多用的是第三方的日志系统,其中一个非常有名,用的最多的就是log4net.下面是关于这个 ...

  2. 如何为Windows服务增加Log4net和EventLog的日志功能。

    一.简介 最近在做一个项目的时候,需要该项目自动启动.自动运行,不需要认为干预.不用说,大家都知道用什么技术,那就是 Windows服务.在以前的Net Framework 平台下,Windows 服 ...

  3. MVC4.0 利用HandleErrorAttribute和log4net实现记录异常日志功能

    1.MVC4.0中HandleErrorAttribte已经帮我们处理了异常问题,当我们新建一个非空的MVC项目时候,在FilterConfig中会发现这样的代码 public class Filte ...

  4. net core Webapi基础工程搭建(四)——日志功能log4net

    目录 前言 log4net 依然是,NuGet引用第三方类库 整合LogUtil 小结 前言 一个完整的项目工程离不开日志文件的记录,而记录文件的方法也有很多,可以自己通过Stream去实现文件的读写 ...

  5. .NET跨平台之旅:增加文件日志功能遇到的挫折

    在将我们的ASP.NET 5示例站点(about.cnblogs.com)升级至ASP.NET 5 RC1的时候,我们增加了控制台日志功能. 在ASP.NET 5添加日志功能很简单,只需在projec ...

  6. LOG4NET日志配置及使用

    Log4net的安装 Install-Package log4net 1.先弄个日志记录的类 /// <summary> /// 使用LOG4NET记录日志的功能,在WEB.CONFIG里 ...

  7. [.Net MVC] 使用 log4net 日志框架

    项目:后台管理平台 意义:项目开发中提出增加日志功能,对关键的操作.程序运行中的错误信息进行记录,这对程序部署后的调试有很大意义. 注:本文只是对网上搜集的信息进行了整合,以备今后查询. 关键字:.N ...

  8. log4net日志的配置及简单应用

    在程序运行中,往往会出现各种出乎开发人员意料的异常或者错误,所以,记录详细的程序运行日志信息,有利于开发人员和运维人员排查异常信息,提高工作效率.而本菜鸟在大神推荐和指导下使用log4net这一插件工 ...

  9. (译)Windsor入门教程---第五部分 添加日志功能

    介绍     现在我们已经有了基础的框架了,是时候添加内容了,那么我们首先应该考虑的就是在应用程序中添加日志功能.我们会使用Windsor来配置,在这一部分,你将学习Windsor之外的其他功能. L ...

随机推荐

  1. Atitit.软件兼容性原理与实践 v3 q326.docx

    Atitit.软件兼容性原理与实践 v3 q326.docx 1. 架构兼容性1 2. Api兼容性1 2.1. 新api  vs  修改旧的api1 3. Web方面的兼容性(js,html)1 3 ...

  2. SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

    概念参见:https://msdn.microsoft.com/zh-cn/library/ms151170.aspx 推送订阅 对于推送订阅,发布服务器将更改传播到订阅服务器,而无需订阅服务器发出请 ...

  3. java基础类和对象-题

    1.创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它. public class Sanjiaoxing { //定义属性 private int a; private int b; ...

  4. mysql优化之表建设

    就拿常见的用户表.文章类的表.日志表来分析如下 CREATE TABLE `user` (   `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMEN ...

  5. ftp如何预览图片 解决方案

    下载使用 server-U ,开启 HTTP 服务,输入 http://ip:端口 后,登录ftp账号密码,可选使用 基于java的应用 web client 或 FTP Voyager JV,来预览 ...

  6. [1].jekyll扫盲

    一.jekyll是什么? jekyll是一款免费的blog生成工具,将纯文本(plain text)转换为静态网站或博客. Jekyll是一个使用Ruby编写的静态站点生成工具,使用Liquid模板渲 ...

  7. linux C++ 获取文件绝对路径

    提供ftp服务时需要获取文件绝对路径,这里记录一下. #include <stdlib.h> #include <stdio.h> #include <limits.h& ...

  8. Revit中如何自定义快捷键

    最佳的绘图方式是左手键盘,右手鼠标,使用快捷键将大大提高绘图效率,Revit同样提供了自定义绘图工具快捷键的功能(Revit2011及以后版本),有两种方式调出自定义快捷键窗口,第一种是Revit窗口 ...

  9. Apache Storm 与 Spark:对实时处理数据,如何选择【翻译】

    原文地址 实时商务智能这一构想早已算不得什么新生事物(早在2006年维基百科中就出现了关于这一概念的页面).然而尽管人们多年来一直在对此类方案进行探讨,我却发现很多企业实际上尚未就此规划出明确发展思路 ...

  10. [Aaronyang] 写给自己的WPF4.5 笔记20 [3d课 1/4]

    假设你是高中毕业的,ok,数学知识几何知识中,我们学过  x,y,z   3个轴然后就可以画出形状了. 1. 新建空白窗体,grid换成canvas,然后新增一个Viewport3D元素 3d中显示的 ...