本节将主要在WebSite中,对保存日志在文本文件的基本用法来进行介绍,并结合WebForm的初始化方式区别进行说明,解决方案如下图所示:

一、WebSite应用
第1步:配置Web.Config文件,代码如下;


  1. <configuration>
  2. <configSections>
  3. <section name="log4net"
  4. type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  5. </configSections>
  6. <log4net>
  7. <root>
  8. <level value="ALL"/>
  9. <appender-ref ref="LogFileAppender"/>
  10. </root>
  11. <appender name="LogFileAppender"
  12. type="log4net.Appender.FileAppender">
  13. <param name="File" value="log/website.log"/>
  14. <param name="AppendToFile" value="true"/>
  15. <layout type="log4net.Layout.PatternLayout">
  16. <param name="ConversionPattern"
  17. value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt;%n - %m%n"/>
  18. </layout>
  19. </appender>
  20. </log4net>
  21. </configuration>

第2步:配置global.asax文件,打开并在Application_Start中添加一行代码,代码如下:


  1. void Application_Start(object sender, EventArgs e)
  2. {
  3. log4net.Config.XmlConfigurator.Configure();
  4. }

第3步:添加页元素和测试代码,在页面中添加两个按钮,如下图所示:

测试代码如下图所示:


  1. public partial class _Default : System.Web.UI.Page
  2. {
  3. log4net.ILog log;
  4. protected void Page_Load(object sender, EventArgs e)
  5. {
  6. log = log4net.LogManager.GetLogger(this.GetType());
  7. }
  8. protected void btnInfo_Click(object sender, EventArgs e)
  9. {
  10. log.Info("log4net info测试 - 彭金华");
  11. }
  12. protected void btnError_Click(object sender, EventArgs e)
  13. {
  14. Exception ex;
  15. ex = new Exception("log4net error测试 - 彭金华");
  16. log.Error("log4net error测试", ex);
  17. }
  18. }

第4步:运行查看结果,结果如下图所示。

二、WebForm应用

在WebForm应用中,配置初始化log4net的方法要多一点,最终目的是相同的,既可以把代码加在Global.asax的Application_Start中,也可以写在Properties/AssemblyInfo.cs中,具体如下:


  1. [assembly: log4net.Config.XmlConfigurator()]

其它的和上述中的WebSite都相同。

本文转自 彭金华  51CTO博客,原文链接:http://blog.51cto.com/pengjh/584524

log4net进阶手札(二):基本用法的更多相关文章

  1. Android高手进阶教程(二十八)之---Android ViewPager控件的使用(基于ViewPager的横向相册)!!!

      分类: Android高手进阶 Android基础教程 2012-09-14 18:10 29759人阅读 评论(35) 收藏 举报 android相册layoutobjectclassloade ...

  2. Wireshark入门与进阶系列(二)

    摘自http://blog.csdn.net/howeverpf/article/details/40743705 Wireshark入门与进阶系列(二) “君子生非异也,善假于物也”---荀子 本文 ...

  3. sqlalchemy(二)高级用法

    sqlalchemy(二)高级用法 本文将介绍sqlalchemy的高级用法. 外键以及relationship 首先创建数据库,在这里一个user对应多个address,因此需要在address上增 ...

  4. WIN 下的超动态菜单(二)用法

    WIN 下的超动态菜单(一)简介 WIN 下的超动态菜单(二)用法 WIN 下的超动态菜单(三)代码 作者:黄山松,发表于博客园:http://www.cnblogs.com/tomview/     ...

  5. class的二般用法

    一般来说,class就是给一堆元素添加样式的,但是还有二般的用法,就是用来作为一个开关,来切换他的子孙元素的样式.举个例子: <ul> <li><span>1< ...

  6. SpringBoot进阶教程(二十九)整合Redis 发布订阅

    SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Ra ...

  7. Bing Maps进阶系列二:使用GeocodeService进行地理位置检索

    Bing Maps进阶系列二:使用GeocodeService进行地理位置检索 在<Bing Maps进阶系列一:初识Bing Maps地图服务>里已经对GeocodeService的功能 ...

  8. WPF 4 DataGrid 控件(进阶篇二)

    原文:WPF 4 DataGrid 控件(进阶篇二)      上一篇<WPF 4 DataGrid 控件(进阶篇一)>中我们通过DataGridTemplateColumn 类自定义编辑 ...

  9. Spring Boot进阶系列二

    上一篇文章,主要分析了怎么建立一个Restful web service,系列二主要创建一个H5静态页面使用ajax请求数据,功能主要有添加一本书,请求所有书并且按照Id降序排列,以及查看,删除一本书 ...

随机推荐

  1. spark 独立应用编程之 Java 编程

    文章更新于:2020-04-03 按照惯例,文件附上链接放在文首. 文件名:apache-maven-3.6.3-bin.tar.gz 文件大小:9.1 MB 下载链接:https://www.lan ...

  2. Hadoop安装教程_伪分布式

    文章更新于:2020-04-09 注1:hadoop 的安装及单机配置参见:Hadoop安装教程_单机(含Java.ssh安装配置) 注2:hadoop 的完全分布式配置参见:Hadoop安装教程_分 ...

  3. NumPy学习1:基本概念

    NumPy的数组类被称作 ndarray .通常被称作数组.注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能.更多重要ndarray对象 ...

  4. Python Requests-学习笔记(5)-响应状态码

    我们可以检测响应状态码: r = requests.get('http://httpbin.org/get') r.status_code 为方便引用,Requests还附带了一个内置的状态码查询对象 ...

  5. awk线程号

    for i in `ps|grep [a]out|awk '{print $1}'` do kill -9 "$i" done

  6. Mysqldump参数大全 这 些参数 不同于 mysql 的那些参数(下边文章开头有链接) :2 种类型的参数含义是不一样的

    Mysqldump参数大全  这 些参数 不同于 mysql 的那些参数  :2 种类型的参数含义是不一样的 Mysqldump参数大全(参数来源于mysql5.5.19源码) 参数 参数说明 --a ...

  7. AJ学IOS 之BLOCK的妙用_利用block实现链式编程

    AJ分享,必须精品 一:场景 我们有个对象人,他有两个方法,一个是学习study,一个是跑步run, 这个人有个怪癖,跑完步之后必须学习,为了实现这个方法并且能调用方便,我们让跑步和学习都回返回自己这 ...

  8. Android Them+SharedPreferences 修改程序所有view字体颜色、大小和页面背景

    有这么一个需求,可以对页面的样式进行选择,然后根据选择改变程序所有字体颜色和页面背景.同时下一次启动程序,当前设置依然有效. 根据需求,我们需要一种快速,方便,有效的方式来实现需求,然后可以通过And ...

  9. 获取SVG中g标签的宽度高度及位置坐标

    1. 问题的出现 对于普通的HTML元素,有很多获得其宽度width.高度height.距左left.距顶top等属性的方法: 类似offsetWidth,clientWidth,width之类的,通 ...

  10. C#开发BIMFACE系列31 服务端API之模型对比2:获取模型对比状态

    系列目录     [已更新最新开发文章,点击查看详细] 在上一篇<C#开发BIMFACE系列30 服务端API之模型对比1:发起模型对比>中发起了2个模型对比,由于模型对比是在BIMFAC ...