- 浏览: 246663 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 876(二)使用单独的配置文件,不放在web.config里 1. ... -
UML学习笔记
2007-11-25 09:55 636一、UML中的关系 依赖: 如果对象X发生变化,引起另一个对 ... -
NBear学习笔记(一)
2007-12-01 21:14 593使用已有数据库。(之前先设计实体,再自动生成数据库,发现每次 ... -
NBear学习笔记(二)
2007-12-02 17:14 590本篇演示一对多关系,和两个表联合查询。 使用已有数据库,我们演 ... -
NBear学习笔记(三)
2007-12-04 22:11 738上一篇一对多的关系说的不是很清楚,这篇补充一下。 这篇我们创建 ... -
CSS使用总结
2007-12-12 21:10 652在分配ID和类名时,尽可能保持与表现形式无关,例如con ... -
ASP.NET2.0缓存技术
2007-12-12 23:33 642ASP.NET2.0提供如下缓存方式: Output Ca ... -
VS2008正式版创建silverlight项目失败的解决办法
2008-02-16 09:49 783安装microsoft express blend2 最新的试 ... -
vista英文版语言包安装
2008-02-17 21:35 792最近,需要给老外截英 ... -
SilverLight显示中文字(一)
2008-02-18 14:42 890我们知道silverlight只提供了一下几种字体, 当我们 ... -
silverlight显示中文字(二):使用TextBlock+Downloader
2008-02-18 16:39 1051(一),建立一个Silverlight1.0 site. ... -
SilverLight显示中文字(三) :使用Path和图形
2008-02-18 16:59 773使用path将文字转换为路径 用Direct select ... -
在Silverlight1.1中定义与调用Javascript事件的方法
2008-02-20 13:19 873我们在silverlight1.0 想调用javascrip ... -
在线流程图制作工具
2008-02-26 22:32 15211. DrawAnywhere , 的在线流程图制作工具。 D ... -
VS2008下开发ASP.Net2.0 and AJAX1.0的程序
2008-03-05 13:57 893为什么要在vs2008下开发A ... -
VS2008开发Silverlight2程序:环境安装
2008-03-06 13:36 1018微软在MIX08大会,发布了Silverlight 2 Bet ... -
ASP.NET 2.0 XML 系列(1): XML介绍
2008-03-15 12:40 6721.1 简介 XML的一个强大 ... -
ASP.NET 2.0 XML 系列(2): XML技术
2008-03-15 14:13 3621. DTD XML最强大之处是允许自定义标签,但是对 ... -
ASP.NET 2.0 XML 系列(3): .Net Framework中XML类
2008-03-15 14:52 500System.Xml包含了一些和XML文档的读写操作相关的类, ... -
ASP.NET 2.0 XML 系列(4):用XmlReader类介绍
2008-03-15 16:02 719(本文摘自MSDN) XmlReader 类是一个提供 ...
相关推荐
\log4net\log4net.dll log4net日志组件 \App_Code\DataAccessHelper\ 数据访问接口层 GetSafeData.cs 安全获取数据类 SQLString.cs 构造SQL语句类 \App_Code\DataAccessLayer\ 数据...
一个小项目,适合初学者参考学习。...该系统采用vs2008开发,完整的后台管理系统和前台展示,前台无ASP.NET自带的控件,该系统有自动记录异常信息的Log,维护和扩展都不错。开发该系统没赚到一分钱,放这里换点积分吧。
此代码是asp.net core 中api的使用场景,在代码中使用了swagger来调试接口,使用log4来记载日志,外加上传文件,不懂可留下联系方式亲手传授。
今早在老外的BLOG上看到这个说法,不妨留意一下: 如果你在asp.net 2.0中使用FormsAuthentication,并且将cookie设置为持久状态,那么其... </authentication> 如果不更改TIMEOUT属性,那么当你使用asp.net 2.0的LOG
ASP.NET2.0 ObjectDataSource的使用详解(3) ASP.NET2.0 快速入门 ----默认中的主题外观 数据库开发 ADO.NET 通过DataTable获得表的主键 ADO.NET 2.0 操作实例 ADO.NET 2.0 大批量数据操作和多个动态的结果集 ADO...
11.7.在ASP.NET中的使用技巧 11.7.1.显示验证错误 11.7.1.1.配置错误显示类 第十二章. 使用Spring.NET进行面向方面的编程 12.1.简介 12.1.1.AOP基本概念 12.1.2.Spring.NET AOP的功能 12.1.3.Spring.NET的AOP代理 ...
漂亮的企业网站。NET2.0出来了, 本次升级修改如下: 1、优化了3层结构。 2、优化了后台管理代码,增强了安全性能。... 备注:本系统采用ASP.NET 2.O+ACCESS开发,请调试的朋友安装.NET2.0运行环境!
(160课时) 系统讲授 ASP.Net2.0、ADO.Net2.0、 基于数据库的WEB应用程序、的开发;详细地讲授Web Service及其应用和相关的安全性问题、WSE(Web Services Enhancements)、SOAP、WSDL、UDDI、Windows Service、VSS...
学习微软三层结构模型的不可多得的好例子,深度合适,结构良好 c#语言开发 Access数据库版本,开源项目 <br>漂亮的企业网站... 备注:本系统采用ASP.NET 2.O+ACCESS开发,请调试的朋友安装.NET2.0运行环境!
(160课时) 系统讲授 ASP.Net2.0、ADO.Net2.0、 基于数据库的WEB应用程序、的开发;详细地讲授Web Service及其应用和相关的安全性问题、WSE(Web Services Enhancements)、SOAP、WSDL、UDDI、Windows Service、VSS...
(160课时) 系统讲授 ASP.Net2.0、ADO.Net2.0、 基于数据库的WEB应用程序、的开发;详细地讲授Web Service及其应用和相关的安全性问题、WSE(Web Services Enhancements)、SOAP、WSDL、UDDI、Windows Service、VSS...
备注:本系统采用ASP.NET 2.O ACCESS开发,请调试的朋友安装.NET2.0运行环境! 网站内容 网站栏目包括 首页|企业简介|新闻中心|产品展示|公司展示|销售网络|联系我们|客户系统|人才管理|客户留言 后台...
log4net的dll文件及使用说明,ASP.NET CORE 2.1、ASP.NET CORE 2.0下可用,ASP.NET CORE1.0可尝试。
本程序是由洛克龙阁... 服务器: 只需要支持 .NET Framework 2.0 即可。 安装: 第一步:将压缩包解压缩释放所有文件到某一目录下。 第二步:将压缩包内的所有文件上传到服务器某一空间。 第三步:修改 Web.config
解压 FreeTextBox 3.1.6 (2007/10/17) 作者网站下载地址:http://freetextbox.com/download/ 详细版本有哪些改进和修改历史可以看这里:http://freetextbox.com/download/changelog.aspx FreeTextBox 3.1.6 (2006/07...
关于ASP.NET Core 2.0的一本小书。 The Little ASP.NET Core Book is structured as a tutorial. You'll build a to-do app from start to finish and learn: The basics of the MVC (Model-View-Controller) ...
备注:本系统采用ASP.NET 2.O+ACCESS开发,请调试的朋友安装.NET2.0运行环境! 网站内容 网站栏目包括 首页|企业简介|新闻中心|产品展示|公司展示|销售网络|联系我们|客户系统|人才管理|客户留言 后台模块有:...
虽然我们可以在一个web页面或其它什么界面里计算每笔服务的费用(也就是 比率 rate乘以时间段duration),不过我们也可以手动向ServiceLog表添加一个 AmountDue列以反映该信息.我们可以将该列创建为一个普通列,只是...
NLog.Web(ASP.NET和ASP.NET Core) 这些软件包是扩展。 这些软件包包含特定于ASP.NET(核心),MVC和IIS的目标和布局渲染。 NLog入门 ASP.NET Core 2入门 ... 对于ASP.NET Core 2,.NET Standard 2.0+和.NET 4.6+