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,真心不知道原来日志组件也可以做得这么灵活,当然这 ...
随机推荐
- MAC机常用快捷键整理表格
MAC机常用快捷键整理表格 范围 快捷键 说明 图形 (Command 键)在某些 Apple 键盘上,此键也可能为标志() Control (Control 键) Alt Opt ...
- 转】Maven学习总结(八)——使用Maven构建多模块项目
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4242221.html 感谢! 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见 ...
- PC问题-可以PING通IP,PING名字不通,可以远程,但不能访问共享文件夹?
问题现象:可以PING通IP,PING名字不通,可以远程,但不能访问共享文件夹? 问题原因:目标主机中NetLogon服务未启动. 问题处理:远程打开目标主机,“我的电脑-管理-服务-启动(改为自动) ...
- 您需要来自administrators的权限才能对此文件进行更改
今天我重装了系统,以前D盘里的一个文件夹想删除,可以一直没法删除,原先它提示"您需要来自 S-1-5-21-602162358-1284227242-682003330-500 的权限才能对 ...
- Codeforces 599C Day at the Beach(想法题,排序)
C. Day at the Beach One day Squidward, Spongebob and Patrick decided to go to the beach. Unfortunate ...
- 转载C# 对象转Json序列化
转载原地址: http://www.cnblogs.com/plokmju/p/ObjectByJson.html JSON Json(JavaScript Object Notation) 是一种 ...
- vs2010生成Dll文件并引用dll(C#)
1.创建新C#控制台应用程序,项目命名createBll,打开Program.cs重命名为TestA(可以不重命名)并修改代码,如图: 写好后,可以写其它的类.cs文件 2.完成后,点击菜单栏的“项目 ...
- 【Java】C/C++与Java的简单比较
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827273.html C/C++: 编译(不同的系统编译出不同的机器码,所以同一 ...
- 在MVC项目中使用RDLC报表
原文地址:http://www.cnblogs.com/wuhuacong/p/4109833.html RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用 ...
- 理解extern
extern有两层含义:表示声明和extern C 1.C++分为编译期和运行期,C++是分别单独编译,编译期可认为有三个步骤:a.预编译进行文本替换,将源文件(cpp文件)生成编译单元:b.编译单元 ...