原创文章,转载必需注明出处: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系统XAMPP配置虚拟主机

    安装完xampp后,想添加一个virsualhost,一直报错.查了半天资料,都是乱说,后来看到了一篇国外的文章,终于弄出来了,整理一下. 第一步,配置本地hosts sudo vi /etc/hos ...

  2. 通过Unity3D发布IOS版游戏

    https://developer.apple.com/ 打开上面的苹果开发者网站,选择上面的"Member Center"登录进入.前提是,你注册了开发者账号,并且付了年费. 选 ...

  3. 对JDK,JRE,JVM的理解

    JAVA用到现在还是分不太清楚JDK,JRE,JVM这三者的区别与联系,一直都是模模糊糊的.所以今天整理下此中的关系. 简单说明:我们编写的.java文件经过JDK(JDK的bin目录下javac.e ...

  4. POJ 3660 Cow Contest(传递闭包floyed算法)

    Cow Contest Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5989   Accepted: 3234 Descr ...

  5. hdu4505小Q系列故事——电梯里的爱情

    小Q系列故事——电梯里的爱情 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  6. oracle 11g 之 result cache

    oracle 11g 之 result cache 今天是2013-10-12,打算最近时间研究一下shared pool的相关原理以及awr报告分析.今天学习一下在oracle 11g shared ...

  7. 山东理工大学ACM平台题答案关于C语言 1580 闰年

    闰年 Time Limit: 1000ms   Memory limit: 32768K  有疑问?点这里^_^ 题目描述 时间过得真快啊,又要过年了,同时,我们的人生也增长了一年的阅历,又成熟了一些 ...

  8. thinkPHP模板的输出和模型的使用

    a.通过 echo 等PHP原生的输出方式在页面中输出 b.通过display方法输出 想分配变量可以使用assign方法 c.修改左右定界符 休要修改配置文件中的配置项 'TMPL_L_DELIM' ...

  9. weak nonatomic strong等介绍(ios)

    @property的属性weak nonatomic strong等介绍(ios) 2014-12-02 18:06 676人阅读 评论(0) 收藏 举报 学习ios也已经快半个月了,也尝试做简单的应 ...

  10. opennebula 自定义安装目录

    /bin//mkinstalldirs /usr/local/lib /bin//mkinstalldirs /usr/local/include /bin//mkinstalldirs /usr/l ...