Log4Net之初步了解
原创文章,转载必需注明出处: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之初步了解的更多相关文章
- ASP.NET MVC4中加入Log4Net日志记录功能
		前言 在之前的.NET中,微软还没有提供过像样的日志框架,目前能用的一些框架比如Log4Net.NLog.CommonLogging等,虽然多多少少使用起来有点费劲,但这里还是简单分享一下Log4Ne ... 
- log4net 初步使用
		自从知道了log4net之后,就一直使用的它,一直没有问题,最近由于项目变动,便将一部分的代码分离出来,然后咋UI项目中调用loghelper,便发现在本地测试一切正常,可是发布到服务器之后便不正常了 ... 
- log4net性能小探
		初步测试了Log4性能.Appender架构如下. 一般客户端,使用FileAppender,把Log记录在本地磁盘. <lockingModel type="log4net.Appe ... 
- 移动端之Android开发的几种方式的初步体验
		目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ... 
- Log4net - 规则简介
		参考页面: http://www.yuanjiaocheng.net/CSharp/csharprumenshili.html http://www.yuanjiaocheng.net/entity/ ... 
- Log4net - 项目使用的一个简单Demo
		参考页面: http://www.yuanjiaocheng.net/entity/entitytypes.html http://www.yuanjiaocheng.net/entity/entit ... 
- log4net使用手册
		1. log4net简介 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.Java平台下,它还 ... 
- Log4Net应用问题
		问题 一.日志存储方式 1.txt 2.SQLServer数据库 3.log文件 二.项目类型不同 1winFrom 2webFrom 3MVC 4WPF 5控制台 三.切分依据不同 1.空间大小 2 ... 
- 在C#代码中应用Log4Net系列教程(附源代码)
		Log4Net应该可以说是DotNet中最流行的开源日志组件了.以前需要苦逼写的日志类,在Log4Net中简单地配置一下就搞定了.没用过Log4Net,真心不知道原来日志组件也可以做得这么灵活,当然这 ... 
随机推荐
- Using FastCGI to Host PHP Applications on IIS 7  -IIS7 怎么配置 PHP5
			This article describes how to configure the FastCGI module and PHP to host PHP applications on IIS 7 ... 
- Bone.io是一个轻量级的框架构建高性能实时单页HTML5应用程序
			Bone.io允许你使用HTML5 WebSockets构建实时应用程序,提供“热”数据到浏览器.这使您可以轻松地构建丰富的,高度响应的用户界面. 项目主页:http://www.open-open. ... 
- Spark RDD概念学习系列之Spark的算子的分类(十一)
			Spark的算子的分类 从大方向来说,Spark 算子大致可以分为以下两类: 1)Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理. Transformat ... 
- UVa 1640 The Counting Problem (数学,区间计数)
			题意:给定两个数m, n,求从 m 到 n 中0-9数字各出现了多少次. 析:看起来挺简单的,其实并不好做,因为有容易想乱了.主要思路应该是这样的,分区间计数,先从个位进行计,一步一步的计算过来.都从 ... 
- c语言 while (~scanf("%d%d",&n,&m)) 在这里这个符号“~”是什么意思
			按位取反,简单地说就是二进制1变0,0变1 由于scanf是有返回值的,且返回值为int型 特别的此处用法导致只有scanf返回-1,循环才会结束,也就是要返回EOF while (~scanf(&q ... 
- WinAPI: FindWindow、FindWindowEx - 查找窗口
			FindWindow( lpClassName, {窗口的类名} lpWindowName: PChar {窗口的标题} ): HWND; {返回窗口的 ... 
- [html]html常用代码
			上传文件表单属性 enctype="multipart/form-data" 单选(是否选中) checked="checked" 下拉列表(是否选中) sel ... 
- EasyUI datetimebox设置默认值为当前时间
			设置value="${notices.release_time}" <input class="easyui-validatebox easyui-datetime ... 
- Linux 下监控用户最大进程数参数(nproc)是否到达上限
			Linux 下监控用户最大进程数参数(nproc)是否到达上限的步骤: 1.查看各系统用户的进程(LWP)数: 注意:默认情况下采用 ps 命令并不能显示出所有的进程.因为 Linux 环境下执行多线 ... 
- Volley使用指南第四回(来自developer.android)
			Volley网络请求的第四篇,废话不多说,开始. 这一篇文章将会教你怎样在Volley支持的范围内定制一个请求. 第一步:写一个通用请求: 大多数请求都有已经写好的接口供你调用,如果你的请求是Stri ... 
