log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过log4j的都知道,它功能强大,可配置性灵活,线程安全,对日志的输出管理和级别管理方便。具体的使用方法往下看。

首先你应该下载log4net.dll并引入到你的项目References中,或者把源代码项目作为你工程的一部分加入到你的工程当中。单击这里下载Log4net 。

使用log4net需要知道其中两个比较重要的概念:logger 和 appender。前者是日志记录对象,后者是日志记录的目标,包括控制台,文件,定量大小的文件,远程广播。也就是说我们使用log4net的过程可以 是这样的:获得一个用来记录日志的工具对象logger,然后为logger对象指定日志的记录位置.美妙的是,这一切工作都可以在Web.config 配置文件中完成,所用的代码极少.
其配置如下:

先在web.config中的<configuration>节点下添加如下配置:

<configSections>
  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>

用过web.config自定义节点的朋友都知道,还应该配置log4net节点,接下来在<configuration>节点下添加如下log4net节点配置:

 1<log4net debug="false">
 2    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
 3        <param name="File" value="c:\Applog.txt" />
 4        <param name="datePattern" value="yyyy-MM-dd HH:mm" />
 5        <param name="AppendToFile" value="true" />
 6        <layout type="log4net.Layout.PatternLayout">
 7            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
 8        </layout>
 9    </appender>
10    <appender name="HttpTraceAppender" type="log4net.Appender.ASPNetTraceAppender" >
11        <layout type="log4net.Layout.PatternLayout">
12            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
13        </layout>
14    </appender>
15    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
16        <layout type="log4net.Layout.PatternLayout">
17            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
18        </layout>
19    </appender>
20    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
21        <param name="File" value="C:\Log.txt" />
22        <param name="AppendToFile" value="true" />
23        <param name="MaxSizeRollBackups" value="10" />
24        <param name="MaximumFileSize" value="5MB" />
25        <param name="RollingStyle" value="Size" />
26        <param name="StaticLogFileName" value="true" />
27        <layout type="log4net.Layout.PatternLayout">
28            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
29        </layout>
30    </appender>
31    <root>
32        <level value="DEBUG" />
33        <appender-ref ref="LogFileAppender" />
34    </root>
35</log4net>

从上面的配置中可以看到定义了多个appender,每一个appender就是一个日志记录的目标。root节点指定了选用哪一个 appender. 在这里我选用了LogFileAppender。

到这里配置就基本上完成了,但是怎么使用上面的配置呢?log4net为我们提供了在应用程序启动时加载配置信息的入口,很简单,在Global.asax.cs的Application_Start过程中添加如下代码:
log4net.Config.DOMConfigurator.Configure();
好了,到此为止整个配置过程完成了,下面是怎么调用的问题了。

新建一个log4nettest.aspx页面,在cs文件中添加引用 using log4net;定义本页的一个全局变量:
private static readonly ILog log = LogManager.GetLogger(typeof(log4nettest));

然后在Page_Load中添加如下代码:log.Debug("这是我在使用Log4Net");运行该页面,在C:\下面会生成一个Applog.txt文本文件,打开看看,里面就有你写入的日志。

转自:http://www.cnblogs.com/fineboy/archive/2005/08/15/215478.html

转载于:https://www.cnblogs.com/zhangpengshou/archive/2011/06/17/2083554.html

在asp.net中使用log4net笔记(转)相关推荐

  1. 在asp.net中使用 log4net 笔记

    log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过lo ...

  2. ASP.NET+MVC+使用+Log4net+记录日志笔记

    前言: 记录系统中的日志,是一个好的项目产品必备的一个环节.每一个产品最终的目的都是要交予客户使用,因为程序员代码的开发水平参差不齐,Bug就成为了项目运维成本最大的因素之一.如何降低项目运维的成本呢 ...

  3. 在ASP.NET MVC中使用Log4Net记录异常日志,出错时导向到静态页

    本篇体验在ASP.NET MVC 4中使用Log4Net记录日志. 通过NuGet安装Log4Net. 需求是:当出错时导向到Error.html静态页面,Log4Net记录错误信息. 大致的思路是: ...

  4. Asp.Net 中Report Service (RDLC)动态绑定数据-学习笔记

    Asp.Net 中Report Service (RDLC)动态绑定数据-学习笔记 1)托拽ReportViewer控件到aspx页面,此时,系统会自动添加相关引用,修改Web.config设置: 2 ...

  5. asp.net core中使用log4net

    和之前的ASP.NET MVC中的使用LOG4NET的方法有些不同,这里先记录一下,使用步骤如下 : 1. 建立 ASP.NET CORE项目中,NUGET中搜索log4net后下载安装 2. 根目录 ...

  6. asp.net Web项目中使用Log4Net进行错误日志记录

    使用log4net可以很方便地为应用添加日志功能.应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能.同时,通过外部配置文件,用户可以不用重新编译程序就能改变 ...

  7. Asp.Net中MVC中的Log4Net配置及运用

    前言: 项目里我们都需要记录一些日志.当然记录的日志的方式有很多,比如用文本记录日志,数据库记录日志,甚至用word记录日志,但是这些记录日志的方式不灵活.下面我为大家介绍下一个简单的日志组件:Log ...

  8. Asp.net中服务端控件事件是如何触发的(笔记)

    Asp.Net 中在客 户端触发服务器端事件分为两种情况: 一.   WebControls中的Button 和HtmlControls中的Type为submit的HtmlInputButton 这两 ...

  9. ASP.NET MVC 使用Log4Net记录系统运行中问题

    log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介. 在NuGet程序包中下载log4Net组件, ...

最新文章

  1. 计算机专业PhD申请文书范文,美国留学博士申请文书怎么写之范文分享
  2. 腾讯99公益日︱深圳市慈善会:那些无力的故事,都拥有了力量
  3. delphi 中CreateOleObject函数产生的对象的释放问题
  4. python适合什么样的人群_什么样的人比较适合选择Python开发+人工智能技术?
  5. 实现滚到div时淡入效果
  6. 【软件质量】软件设计要考虑性能
  7. CVPR2021 双图层实例分割,大幅提升遮挡处理性能
  8. 【elasticsearch】 Regexes are disabled. Set [script.painless.regex.enabled] to [true]
  9. Batman崛起之地——Gotham
  10. Android页面跳转、延时跳转、跳转传值
  11. 在WEB程序中隐藏后门
  12. Redis应用场景一
  13. iOS报错:linker command failed with exit code 1 (use -v to see invocation) 问题解决方式之一
  14. asp.net mvc Autofac 依赖注入框架 使用
  15. 程序员必知的Python陷阱与缺陷列表
  16. html将网页保存成图片,谷歌浏览器保存网页为图片方法_chrome如何将网页保存为图片-win7之家...
  17. C# 实现对接电信交费易自动缴费
  18. PC上阅读电子书的软件:Sumatra PDF和calibre
  19. Vibosoft ePub Converter(ePub转换器)v2.1.24官方版
  20. 腾讯汤道生:面向数实融合新世界,开发者是最重要的“建筑师”

热门文章

  1. 苹果(iphone)手机怎么恢复手机通讯录
  2. Linux关机各种关机命令总结
  3. Sketchup建模和渲染是否能取代3dsMax
  4. matlab绘制环形彩色圆盘
  5. Java集合 —— Map集合
  6. 四足爬行机器人运动_四足爬行机器人步态分析与运动控制-机电工程.PDF
  7. 函数实现两个数比较大小。
  8. GIS-国内常见的地理坐标系
  9. 【翻译】两种高性能I/O设计模式(Reactor/Proactor)的比较
  10. 在Python中“准确而优雅”的声明函数(一)