原创文章,转载必需注明出处:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/log4net%E4%B9%8B%E5%88%9D%E6%AD%A5%E4%BA%86%E8%A7%A3/

在日常的项目调试中,我们往往会遇到一些BUG或者异常错误日志,那么把这写BUG或错误日志记录下来,能使我们在第一时间找到错误的所在地,以及错误的原因,以便于我们第一时间纠错。

往往我们会把错误日志直接写到txt文本中,或者想把错误日志写到数据库中,再或者想同时想两者中写入不同错误等级的BUG信息或者错误日志。有了上面的需求那么下面我们介绍的log4net的使用则是相对比较有效解决方案。

下面我们来介绍如何将错误日志记录到文档中:

首先、你要准备好log4net的dll文件。

log4net下载链接:http://logging.apache.org/log4net/download_log4net.cgi

使用VS的朋友可以直接在VS的NuGet程序包管理器中下载使用

其次、你要配置相应的config文件

下载完成并将log4net的dll文件引入项目中后,你需要在你的项目中新建一个config文件(如log4net.config)向文件中填充如下内容。

 <configuration>
   <configSections>
     <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
   </configSections>
   <log4net>
     <root>
       <level value="ALL"/>
       <appender-ref ref="FileAppender"/>
     </root>
 <!--存储到文件的操作-->
     <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
       <param name="File" value="Log\log.txt"/>
       <rollingStyle value="Date"/>
       <param name="AppendToFile" value="true"/>
       <!--<param name="DatePattern" value="yyyy-MM-dd".txt""/>-->
 <param name="DatePattern" value="log.txt"/>
       <layout type="log4net.Layout.PatternLayout">
         <param name="ConversionPattern" value="%date%n--- ThreadId=[%t]   Level=%-5p   Message=%m%n"/>
       </layout>
     </appender>
   </log4net>
 </configuration>

在项目中找到AssemblyInfo.cs文件,向文件的最后一行加入代码:

 [assembly: log4net.Config.DOMConfigurator(ConfigFile = "log4net.config", Watch = true)]

或者在项目的Application_Start()函数中加入代码

 log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("log4net.config")));

这样就可以在项目中引入log4net,代码如下

 ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 log.Error("变量不存在");

ok,这一流程走下来你就可以在你的项目下的log.txt文件中看见错误语句了,下一篇将详细讲解log4net保存日志到文档的配置。

Log4Net之初步了解的更多相关文章

  1. ASP.NET MVC4中加入Log4Net日志记录功能

    前言 在之前的.NET中,微软还没有提供过像样的日志框架,目前能用的一些框架比如Log4Net.NLog.CommonLogging等,虽然多多少少使用起来有点费劲,但这里还是简单分享一下Log4Ne ...

  2. log4net 初步使用

    自从知道了log4net之后,就一直使用的它,一直没有问题,最近由于项目变动,便将一部分的代码分离出来,然后咋UI项目中调用loghelper,便发现在本地测试一切正常,可是发布到服务器之后便不正常了 ...

  3. log4net性能小探

    初步测试了Log4性能.Appender架构如下. 一般客户端,使用FileAppender,把Log记录在本地磁盘. <lockingModel type="log4net.Appe ...

  4. 移动端之Android开发的几种方式的初步体验

    目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...

  5. Log4net - 规则简介

    参考页面: http://www.yuanjiaocheng.net/CSharp/csharprumenshili.html http://www.yuanjiaocheng.net/entity/ ...

  6. Log4net - 项目使用的一个简单Demo

    参考页面: http://www.yuanjiaocheng.net/entity/entitytypes.html http://www.yuanjiaocheng.net/entity/entit ...

  7. log4net使用手册

    1. log4net简介 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.Java平台下,它还 ...

  8. Log4Net应用问题

    问题 一.日志存储方式 1.txt 2.SQLServer数据库 3.log文件 二.项目类型不同 1winFrom 2webFrom 3MVC 4WPF 5控制台 三.切分依据不同 1.空间大小 2 ...

  9. 在C#代码中应用Log4Net系列教程(附源代码)

    Log4Net应该可以说是DotNet中最流行的开源日志组件了.以前需要苦逼写的日志类,在Log4Net中简单地配置一下就搞定了.没用过Log4Net,真心不知道原来日志组件也可以做得这么灵活,当然这 ...

随机推荐

  1. MAC机常用快捷键整理表格

    MAC机常用快捷键整理表格 范围 快捷键 说明 图形   (Command 键)在某些 Apple 键盘上,此键也可能为标志()     Control (Control 键)     Alt Opt ...

  2. HDU 5675 ztr loves math (数学推导)

    ztr loves math 题目链接: http://acm.hust.edu.cn/vjudge/contest/123316#problem/A Description ztr loves re ...

  3. codeforces 651B Beautiful Paintings

    B. Beautiful Paintings time limit per test 1 second memory limit per test 256 megabytes input standa ...

  4. Objc基础学习记录1

    1.'-'系在实例方法前头 2.'+'类方法class method 相反; 3.void表示没有返回值; 4.&x 和c语言一样,代表的是x的在内存上的地址; 5.*y指向内存存储空间内的数 ...

  5. Mybatis学习之配置文件

    Mybatis也是ORM框架的一种,与Hibernate框架的不同就是Hibernate框架是实体与表的映射,是一种全自动的ORM实现,而Mybatis是实体与sql语句的映射,是一种半自动的ORM映 ...

  6. ADO.NET 快速入门(三):从存储过程获取输出参数

    一些存储过程通过参数返回值.当参数在SQL表达式或者存储过程中被定义为“输出”,参数值会返回给调用者.返回值存储在 OleDbCommand 或者 SqlCommand 对象的参数集合的参数里.   ...

  7. 教你50招提升ASP.NET性能(十六):把问题仍给硬件而不是开发人员

    (27)Throw hardware at the problem, not developers 招数27: 把问题仍给硬件而不是开发人员 As developers, we often want ...

  8. MySQL常用查询语句集合《转》

    一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!>,!<,=>,= ...

  9. QM04-生产中的QM

    集成的计划 生产过程中的生产工序和检验工序逐渐变得更为相互依赖或者说被组合在一起.从而使来自生产和质量检验领域的工作小组共同创建工艺流程. 检验工序 可以把QM检验特性集成到生产计划(PP)模块的工作 ...

  10. Linux下进程的同步相互排斥实例——生产者消费者

    linux下的同步和相互排斥 Linux sync_mutex 看的更舒服点的版本号= = https://github.com/Svtter/MyBlog/blob/master/Linux/pth ...