log4Net使用的四个步骤
第一步、引入程序集,并建立配置文件,放在根目录下config文件夹里。配置文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Log\\" />
<appendToFile value="true" />
<maxSizeRollBackups value="10" />
<staticLogFileName value="false" />
<datePattern value="yyyy-MM-dd".log"" />
<rollingStyle value="Date" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="--------------------------------------------------------------------------------%newline%date [%thread] %-5level %logger [%property{NDC}]%newline %newline%message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
第二步、在项目AssemblyInfo.cs文件中加入这么一句话
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Config\\log4net.config", Watch = false)]
第三步、在项目Global.asax中的Application_Start事件中加入一句话
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("config\\log4net.config"));
第四步、在需要记录异常点的地方加入两句话
public static readonly log4net.ILog LogInfo = log4net.LogManager.GetLogger("LogInfo");
//ex为Exception对象,异常自己用try-catch捕捉。
LogInfo.Debug(ex.Message, ex);
运行,记录异常!
log4Net使用的四个步骤的更多相关文章
- 阶段一:AsyncTask的三个属性值和四个步骤
“阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 最近学到用AsyncTask来处理有关网络的操作.虽然代码看上去不是很复杂,但仍有很多地方有疑惑.所以研读了一下A ...
- Gcc的编译流程分为了四个步骤:
http://blog.csdn.net/xiaohouye/article/details/52084770(转) Gcc的编译流程分为了四个步骤: 1.预处理,生成预编译文件(.文件): Gcc ...
- GCC编译源代码的四个步骤【转】
GCC编译C源代码有四个步骤:预处理---->编译---->汇编---->链接. 可以利用GCC的参数来控制执行的过程,这样就可以更深入的了解编译C程序的过程. 下面将通过对一个程序 ...
- Ajax操作的四个步骤
Ajax操作的四个步骤: 创建Ajax对象 连接服务器 发送请求 接收返回信息 <!DOCTYPE html> <html> <head lang="en&qu ...
- 学习linux/unix编程方法的建议,学习Linux的四个步骤(转)
解答:学习Linux的四个步骤假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过我想大概可以分为4个阶段,水平从低到高从安装使用=>linux ...
- new操作符创建对象的四个步骤
new操作符创建对象可以分为以下四个步骤: 创建一个空对象 将所创建对象的__proto__属性值设为构造函数的prototype的属性值 执行构造函数中的代码,构造函数中的this指向该对象 返回对 ...
- C语言对源程序处理的四个步骤:预处理、编译、汇编、链接——预处理篇
预处理 1)预处理的基本概念 C语言对源程序处理的四个步骤:预处理.编译.汇编.链接. 预处理是在程序源代码被编译之前,由预处理器(Preprocessor)对程序源代码进行的处理.这个过程并不对程序 ...
- AJAX-快速上手(四个步骤)
## 1, ajax ajax是使用js进行在不重新加载页面的情况下,使得页面局部刷新.而传统的页面加载即需要,重新加载整个页面.它的加载是异步进行的,即在加载的同时,页面的其他部分可以正常使用,不会 ...
- 重温JavaScript预编译的四个步骤
JS是解释型语言,运行过程分三步: 一.语法分析(检查代码是否存在语法错误): 二.预编译(代码执行之前,在内存中开辟空间,存放变量与函数): 三.解释执行(执行JS代码): 理解预编译的过程,对于理 ...
随机推荐
- Entity Framework with MySQL 学习笔记一(关系整理版)
1-1 设置 //DataAnnotation 1-1 | 1-0 table //SQLtable : member , columns : memberId, name //SQL basic l ...
- Gridview将某列内容和标题隐藏起来
protected void gvInfo_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == Dat ...
- HDU_2011——求多项式的前n项和
Problem Description 多项式的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...现在请你求出该多项式的前n项的和. Input 输入数据由2行组 ...
- Eclipse Tomcat : Project facet Java version 1.7 is not supported.
在Eclipse打开一个项目,并用Tomcat运行时,报错:Project facet Java version 1.7 is not supported. 大致的截图如下: "项目中的jd ...
- prototype对象的真正作用
参考阮一峰的文章:http://javascript.ruanyifeng.com/oop/encapsulation.html prototype对象的真正作用 在JavaScript语言中,每一个 ...
- Javascript:数组和字符串的相互转化
中午吃饭的时候,和室友讨论前端的问题,然后一个有趣的问题被抛出来: javascript用什么方法可以把“hello world”位置反转输出,即输出:"dlrow olleh"? ...
- laravel敏捷应用
App Category Recipes dealing with Laravel's App facade Checking Your Environment Checking if You're ...
- Android:Service的非绑定式的创建和生命周期
Android的Service若使用非绑定式的创建,则创建后将无法再与它取得联系.即无法传递消息參数等: 所以假设希望创建后仍然与其存在联系,那么能够參考我的前几篇博客<Android:Serv ...
- LF will be replaced by CRLF问题解决方法
[GIT] warning: LF will be replaced by CRLF问题解决方法 开发环境: 操作系统: windows xp ruby 1.9.2 rails 3.1.3 git v ...
- Linux 创建swap分区
--首先分出一个分区 /dev/sda5 (注意分区类型)mkswap /dev/sda5 --格式化分区成swap格式swapon /dev/sda5 --激 ...