- 浏览: 256961 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (293)
- web (1)
- [随笔分类]项目管理 (30)
- [随笔分类]WCF (14)
- 未分类 (1)
- [随笔分类]Linq (4)
- [随笔分类]C#基础 (24)
- 项目 (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (8)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (9)
- [随笔分类]Ubuntu (4)
- ASP.Net (1)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (30)
- [随笔分类]ASP.NET MVC (20)
- [随笔分类]ASP.NET (3)
- [随笔分类]程序员厨房 (4)
- [随笔分类]英语学习 (28)
- [网站分类]4.其他技术区 (1)
- [随笔分类]Silverlight (12)
- [随笔分类]CodeSmith (8)
- [随笔分类]其他 (4)
- [随笔分类]Ruby (4)
- [发布至博客园首页] (34)
- [网站分类]其他技术区 (3)
- [随笔分类]Ruby on Rails (2)
- [网站分类].NET新手区 (33)
- [随笔分类]TDD (1)
- [随笔分类]不谈技术 (2)
- [网站分类]非技术区 (7)
最新评论
-
yicone:
You make a mistake when paste t ...
WCF步步为营(一):简单示例 -
jinweijie:
你好,这个实现不错,但是在用了scriptmanager以后就 ...
在服务器端保存ViewState
第一种方法 在web.config中写配置文件
- Log4Net主页: http://logging.apache.org/log4net/,下载Log4Net
-
Log4Net主要由Logger, Appender, Filter, Layout 4个组件构成, 一般情况下后3个组件在配置文件中配置.
Logger
负责产生日志消息,可以在代码中调用
Appender
负责向存储介质中追加日志, 一般在配置文件中配置,根据保存日志介质的不同Appender有多种, 比如:AdoNetAppender,EventLogAppender,RollingFileAppender等.参见: http://logging.apache.org/log4net/release/config-examples.html.
Filter
负责过滤日志, 一般和Appender联合使用,在配置文件中配置
Layout
负责日志消息的格式, 一般和Appender联合使用,在配置文件中配置。 - 使用步骤
1.给web项目添加引用log4net.dll
2. 在web.config的configuration(最顶层)下加 (网上文章是把log4net放到configSections前面,但是我编译不通过)
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<root></root>
<logger name="Test">
<level value="DEBUG" />
<appender-ref ref="rollingFile" />
</logger>
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" type="" value="log/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyyMMdd" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
</appender>
</log4net>
Logger的Level属性可以设以下值,由高到低为OFF,FATAL, ERROR,WARN,INFO,DEBUG,ALL. 高于设定值方法都能写入日志, Off所有的写入方法都不写到日志里,ALL则相反。例如当我们设成Info时,logger.Debug就会被忽略而不写入文件,但是FATAL, ERROR,WARN,INFO会被写入,因为他们等级高于INFO;
3. 在Global.ascx(如果项目中没有,则新建)中的Application_Start方法中加入
{
// Code that runs on application startup
log4net.Config.XmlConfigurator.Configure();
}
4.配置<log4net>标签中的内容
<root>
<!--
<level value="ALL" />
<appender-ref ref="rootFile" />
-->
</root>
<logger name="Test">
<level value="DEBUG" />
<appender-ref ref="rollingFile" />
</logger>
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" type="" value="log/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyyMMdd" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
</appender>
</log4net>
log4net标签的框架如下, 该标签下有root, logger, appender等标签
root标签
所有的logger都从root继承, root本身也是一个logger
logger标签
每个logger标签代表一个logger,appender-ref表示该logger产生的日志消息传递给哪个appender,一个logger可以把相同的消息传递给多个appender记录
appender标签
每个appender表示一个日志的存储位置,name不能和type一样
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="log" /> 文件名以log为开头
<param name="AppendToFile" value="true" /> 是否是向文件中追加日志
<param name="RollingStyle" value="Date" /> 日志根据日期滚动
<param name="DatePattern" value="yyyyMMdd" /> 日志文件名格式为: log20071120
<param name="StaticLogFileName" value="false" /> 日志文件名是否是固定不变的
日志消息的格式, 表示换行
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
</appender>
消息模式
%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
%n(new line):换行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称
%L:输出语句所在的行号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,则用空格填充
5. 在代码中调用Logger
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using log4net;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ILog LOGGER = LogManager.GetLogger("Test");
LOGGER.Debug("测试信息");
}
}
最后,可以在根目录下找到日志对应日志文件。
本例源码:下载本文源码
注:本文参考博客园的相关文章,我用的是vs2008,但类库选得是.net framework2.0.
另记:做实例10分钟就完成了,这么短的文章我却编排了几个小时,到最后才勉强差人意,真不知写了那么多的文章的人是怎么坚持下去的。
发表评论
-
ASP.Net2.0使用Log4Net(二)
2007-11-24 17:39 912(二)使用单独的配置文件,不放在web.config里 1. ... -
UML学习笔记
2007-11-25 09:55 679一、UML中的关系 依赖: 如果对象X发生变化,引起另一个对 ... -
NBear学习笔记(一)
2007-12-01 21:14 625使用已有数据库。(之前先设计实体,再自动生成数据库,发现每次 ... -
NBear学习笔记(二)
2007-12-02 17:14 618本篇演示一对多关系,和两个表联合查询。 使用已有数据库,我们演 ... -
NBear学习笔记(三)
2007-12-04 22:11 775上一篇一对多的关系说的不是很清楚,这篇补充一下。 这篇我们创建 ... -
CSS使用总结
2007-12-12 21:10 693在分配ID和类名时,尽可能保持与表现形式无关,例如con ... -
ASP.NET2.0缓存技术
2007-12-12 23:33 673ASP.NET2.0提供如下缓存方式: Output Ca ... -
VS2008正式版创建silverlight项目失败的解决办法
2008-02-16 09:49 811安装microsoft express blend2 最新的试 ... -
vista英文版语言包安装
2008-02-17 21:35 813最近,需要给老外截英 ... -
SilverLight显示中文字(一)
2008-02-18 14:42 922我们知道silverlight只提供了一下几种字体, 当我们 ... -
silverlight显示中文字(二):使用TextBlock+Downloader
2008-02-18 16:39 1091(一),建立一个Silverlight1.0 site. ... -
SilverLight显示中文字(三) :使用Path和图形
2008-02-18 16:59 811使用path将文字转换为路径 用Direct select ... -
在Silverlight1.1中定义与调用Javascript事件的方法
2008-02-20 13:19 891我们在silverlight1.0 想调用javascrip ... -
在线流程图制作工具
2008-02-26 22:32 15531. DrawAnywhere , 的在线流程图制作工具。 D ... -
VS2008下开发ASP.Net2.0 and AJAX1.0的程序
2008-03-05 13:57 929为什么要在vs2008下开发A ... -
VS2008开发Silverlight2程序:环境安装
2008-03-06 13:36 1049微软在MIX08大会,发布了Silverlight 2 Bet ... -
ASP.NET 2.0 XML 系列(1): XML介绍
2008-03-15 12:40 7241.1 简介 XML的一个强大 ... -
ASP.NET 2.0 XML 系列(2): XML技术
2008-03-15 14:13 3901. DTD XML最强大之处是允许自定义标签,但是对 ... -
ASP.NET 2.0 XML 系列(3): .Net Framework中XML类
2008-03-15 14:52 535System.Xml包含了一些和XML文档的读写操作相关的类, ... -
ASP.NET 2.0 XML 系列(4):用XmlReader类介绍
2008-03-15 16:02 750(本文摘自MSDN) XmlReader 类是一个提供 ...
相关推荐
同时,使用log4net或NLog等第三方库,可以方便地记录应用程序运行时的信息,便于调试和问题排查。 最后,数据库安全性也是初学者需要掌握的内容。这包括用户验证、角色管理和权限控制。ASP.NET 2.0提供了成员资格...
1. **Entity Framework**: 虽然ASP.NET 2.0本身不包含Entity Framework,但它是.NET Framework的一部分,允许开发者使用对象关系映射(ORM)进行数据操作,提高了开发效率和代码可维护性。 2. **Linq to SQL**: 这...
同时,集成日志记录框架,如Log4Net或NLog,能够记录应用程序运行过程中的信息,便于调试和监控。 10. **部署与性能优化**:实战篇还会涵盖如何将应用部署到IIS服务器,以及如何进行性能调优,如使用缓存技术、...
8. 错误处理和日志记录:理解ASP.NET 2.0的异常处理机制,学会设置CustomErrors,以及使用EventLog或第三方库进行日志记录,有助于快速定位和解决问题。 9. AJAX支持:ASP.NET 2.0引入了AJAX技术,通过UpdatePanel...
使用CustomErrors配置进行自定义错误页面,以及利用log4net等日志库记录错误信息,便于后期排查问题。 7. **用户体验优化** 系统可能采用了AJAX技术,通过Partial Page Updates提高页面响应速度,提升用户体验。...
在ASP.NET 2.0中获取MAC(物理)地址是一个常见的需求,特别是在网络认证、设备唯一标识或系统安全相关的场景下。MAC地址是网络接口控制器(NIC)的硬件地址,用于在网络中唯一识别设备。虽然ASP.NET主要是服务器端...
源码可能包含全局错误处理机制,如Global.asax中的Error事件,以及使用log4net或NLog等库进行日志记录。 8. **性能优化**:电子商务网站需要能处理大量并发请求,因此性能优化是关键。源码可能展示了缓存策略(如...
【明日商城源码(asp.net2.0 c#)】是一个基于ASP.NET 2.0框架,使用C#编程语言开发的网上商城项目。这个源码对于初学者来说是一个很好的学习资源,因为它提供了完整的功能实现,包括用户管理、商品展示、购物车、订单...
ASP.NET 2.0是Microsoft在2005年推出的一个用于开发Web应用程序的框架。它提供了一套完整的工具和服务来构建动态网页应用。相比早期版本,ASP.NET 2.0提供了更多的内置控件和功能,如数据绑定、用户控件、状态管理等...
在ASP.NET 2.0开发环境中,为了提升用户体验并实现日期选择功能,常常会使用到日历控件。本文将详细介绍如何将梅花...通过理解和实践这些步骤,你可以为你的ASP.NET 2.0项目添加一个功能强大且易于使用的日期选择功能。
\log4net\log4net.dll log4net日志组件 \App_Code\DataAccessHelper\ 数据访问接口层 GetSafeData.cs 安全获取数据类 SQLString.cs 构造SQL语句类 \App_Code\DataAccessLayer\ 数据...
【标题】"仿淘宝C2c,asp.net 2.0+sql server 2005+存储过程(三层架构)" 提供了关于一个电子商务平台开发的信息,它模仿了淘宝C2C(消费者对消费者)市场的功能。在这个项目中,开发者使用了微软的技术栈,包括asp...
- 使用Log4Net或NLog进行日志记录。 10. **持续集成与部署**: - 使用Visual Studio Team System进行版本控制和持续集成。 - 配置IIS进行网站部署。 面试中,面试官可能会根据这些知识点提出具体问题,包括理论...
在ASP.NET 2.0中,处理Computed Columns列是一个关键的数据库操作技能,尤其是在与Microsoft SQL Server集成的应用程序中。Computed Columns,也称为计算列,是数据库表中的特殊列,其值是根据表中其他列的值通过一...
标题“最新最全log4Net”意味着我们将探讨的是最新版本的log4Net(2.0.8),它不仅支持多种.NET框架,如.NET Framework 2.0、3.5、4.0、4.5以及.NET Standard 1.3,而且能实现全面的功能和完美的使用体验。...
在ASP.NET Core 2.0应用中,由于默认的日志提供者可能不足以满足复杂的需求,我们通常会引入log4net。首先,需要在项目中引用`log4net`库,然后在`appsettings.json`中配置日志输出目的地,如控制台、文件或数据库。...
- 使用log4net或其他日志框架记录系统事件,便于故障排查和性能分析。 10. **部署与维护** - 学习IIS(Internet Information Services)配置,进行ASP.NET应用的部署。 - 定期备份数据库,确保数据安全;进行...
对于调试和问题排查,平台可能内置了日志记录功能,使用如Log4Net这样的日志框架,记录操作日志和错误信息。 9. **单元测试和集成测试**: 使用如NUnit或MsTest等测试框架,对平台的各个模块进行单元测试和集成...
一个小项目,适合初学者参考学习。...该系统采用vs2008开发,完整的后台管理系统和前台展示,前台无ASP.NET自带的控件,该系统有自动记录异常信息的Log,维护和扩展都不错。开发该系统没赚到一分钱,放这里换点积分吧。
今早在老外的BLOG上看到这个说法,不妨留意一下: 如果你在asp.net 2.0中使用FormsAuthentication,并且将cookie设置为持久状态,那么其... </authentication> 如果不更改TIMEOUT属性,那么当你使用asp.net 2.0的LOG