常见步骤:

第一:在项目中引用log4net组件.
第二:配置log4net,一般都写在web.config中.
第三:调用部分.
      具体怎么配置,大家可以参考博客其它博友写的,这里我只写我使用log4net的经验:
经验一:配置文件不写在web.config中.
理由:
          一个项目随着需求的变更,配置字节会特别多,不便查阅及维护.而且一但更改配置文件,就会引起IIS重启.
默认的web.config配置文件中本来就有很多配置了,如果再加上log4net配置文件,那就更加庞大了不利于后期维护,而且实际应用中,并不是只配置一种方式记录日志,比如项目这次就不同,要配置log4net输出到txt文件中,还要配置输出到数据库中。这两个还是可以选择的。所以更不能配置在一起了,只有分开配置,调用工具类去读取相应的配置文件去执行不同的记录操作。

解决方案:我们可以利用以下方法来实现:
   log4net.Config.XmlConfigurator.ConfigureAndWatch(string filePath)
   它用来加载配置文件,这个配置文件可以放在任意地方,与WEB程序完成分离,更改此文件可以避免IIS的重启.

经验二:写一个调用log4net的公共类,根据不同的功能模块来生成不同的ILog接口.
   一般在项目中程序都会分成很多不同的模块,如果所有的模块的日志都写在一个目录里面,那在查阅的时候会是一种麻烦,我们可能根据不同的模块甚至更详细的功能来设置日志文档的存储路径.例如:娱乐新闻/weblog.txt,体育新闻/weblog.txt等等.  欧阳洲

经验三:log4net并不一定要在程序发生错误时才记录日志,你可以把程序的业务逻辑处理过程都记录下来.
   例如有一个非常复杂的业务处理,里面可能会调用webservice,第三方接口什么的,此时如果程序出错,程序员在判断错误时往往会非常困难,你可以把执行过程都记录下来,这样当程序出错时你通过日志就知道在哪一步出问题了.记录这种日志时可以用级别最低的Info来记录,程序稳定后在配置文件中更改日志记录级别就可以避免在程序无错时也记录日志的负载了.

本文加自己的使用经验也结合别人经验总出来的。原文地址 http://www.cnblogs.com/ChiYue/

使用log4net日志组件经验分享的更多相关文章

  1. log4net日志组件经验分享

    引自log4net日志组件经验分享 我们在开发WEB项目的时候,经常会出现这样的情况:在本地调试都是正常的,但是部署到服务器上就不行了.一般出现这种情况很大一部分原因是因为服务的环境和本地不同,数据库 ...

  2. .net core 使用log4net日志组件

    一个web站点必须要记录日志,否则哪里出错了,完全是黑娃找黑妹,两眼一抹黑. 最常用的就是log4net日志组件.我们可以通过扩展加入日志组件. 第一步:在项目中NuGet log4net包,即 In ...

  3. 快速入门系列--Log4net日志组件

    Log4net是阿帕奇基金会的非常流行的开源日志组件,是log4j的.NET移植版本,至今已经有11年的历史,使用方便并且非常稳定,此外很重要的一点是其和很多开源组件能很好的组合在一起工作,例如NHi ...

  4. C#控制台程序使用Log4net日志组件

    1.Log4net一般都不陌生,但是在配置上不同类型的项目又不相同的地方比如C#控制台程序和C# MVCWeb项目,拿控制台项目为例   项目源码在文章底部 2.首先创建一个控制台程序,引入Log4n ...

  5. Log4net日志组件使用

    一.简介 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题.经验表明,日 ...

  6. log4net日志组件

    转载:http://www.cnblogs.com/knowledgesea/archive/2012/04/26/2471414.html 一.什么是log4net组件 Log4net是基于.net ...

  7. C# 使用 log4net 日志组件

    一. 什么是 log4net  Apache log4net 库是帮助程序员将日志语句输出到各种输出目标的工具,它是从Java中的Log4j迁移过来的一个.Net版的开源日志框架.log4net 的一 ...

  8. C#组件系列———又一款日志组件:Elmah的学习和分享

    前言:好久没动笔了,都有点生疏,12月都要接近尾声,可是这月连一篇的产出都没有,不能坏了“规矩”,今天还是来写一篇.最近个把月确实很忙,不过每天早上还是会抽空来园子里逛逛.一如既往,园子里每年这个时候 ...

  9. 性能秒杀log4net的NLogger日志组件(附测试代码与NLogger源码)

    NLogger特性: 一:不依赖于第三方插件和支持.net2.0 二:支持多线程高并发 三:读写双缓冲对列 四:自定义日志缓冲大小 五:支持即时触发刷盘机制 六:先按日期再按文件大小滚动Rolling ...

随机推荐

  1. sql中查询同一列所有值出现的次数

    尊重原创:http://blog.csdn.net/love_java_cc/article/details/52234889 有表如下table3: 需要查询country中各个国家出现的次数 SQ ...

  2. [学习OpenCV攻略][016][RedHat下安装OpenCV]

    安装环境 操作系统: Red Hat Enterprise Linux Server 6.3 相关软件: ffmpeg-0.8.15.tar.bz2.cmake-3.5.1.tar.gz.OpenCV ...

  3. Node.js/Vue环境搭配安装

    http://blog.sina.com.cn/s/blog_497ff1a70102x0sw.html 第一次接触Node.js,想创建自己的服务就须配置好Node.js环境 安装Node.js 下 ...

  4. git gui提交无法获知你的身份 20

    刚刚学习,请说的详细一些,谢谢 callct | 浏览 3382 次 我有更好的答案 1条回答 你没有定义你的名字和邮箱.你打开git console/shell, #输入下面两句,并且替换成你的名字 ...

  5. 邓_Jquery测试题

    一.Jquery测试题 下面哪种不是jquery的选择器?(单选)A.基本选择器 B.后代选择器 C.类选择器 D.进一步选择器考点:jquery的选择器 (C) 当DOM加载完成后要执行的函数,下面 ...

  6. SQL Server中字段类型对应的C#中的数据类型

      数据库  C#程序  int                int32  text string bigint int64 binary System.Byte[] bit Boolean cha ...

  7. Asp.net Core 跨域配置

    一般情况WebApi都是跨域请求,没有设置跨域一般会报以下错误 No 'Access-Control-Allow-Origin' header is present on the requested ...

  8. Struts2中Action接收参数的方法主要有以下三种:

    Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数(最原始的方式):     a.定义:在Action类中定义属性,创建get和set方法:     b.接 ...

  9. [知了堂学习笔记]_eclipse引入svn插件,并将项目同步到svn

    1. eclipse中不存在SVN问题的解决 1.1发现Team->Share project 下没有svn. 1.2下载安装svn插件. 选择help->Eclipse Marketpl ...

  10. 关于win10企业版1607累积更新(KB4013429)安装失败后,个人的解决办法

    最近连续一个多星期更新(1607-KB4013429)失败,更抓狂的是windows不厌其烦的,不断下载,不断更新,导致每天打开电脑都要等个十几分钟,看来不解决是不行了. 网上一查,有各种解决版本 1 ...