`
wangdeshui
  • 浏览: 255614 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

第一种方法 在web.config中写配置文件

  1. Log4Net主页: http://logging.apache.org/log4net/,下载Log4Net
  2. 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联合使用,在配置文件中配置。 
  3. 使用步骤  

         1.给web项目添加引用log4net.dll 
         2.
在web.config的configuration(最顶层)下加  (网上文章是把log4net放到configSections前面,但是我编译不通过) 

<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方法中加入

void Application_Start(object sender, EventArgs e) 
    
{
     
// Code that runs on application startup

     log4net.Config.XmlConfigurator.Configure();

    }

 

       4.配置<log4net>标签中的内容 

 

<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一样 

类型是RollingFileAppender
<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;
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数据库入门经典DOC格式

    同时,使用log4net或NLog等第三方库,可以方便地记录应用程序运行时的信息,便于调试和问题排查。 最后,数据库安全性也是初学者需要掌握的内容。这包括用户验证、角色管理和权限控制。ASP.NET 2.0提供了成员资格...

    ASP.NET 2.0 中的数据访问与安全

    1. **Entity Framework**: 虽然ASP.NET 2.0本身不包含Entity Framework,但它是.NET Framework的一部分,允许开发者使用对象关系映射(ORM)进行数据操作,提高了开发效率和代码可维护性。 2. **Linq to SQL**: 这...

    Asp.net2.0MVC实战入门教程-下-实战篇

    同时,集成日志记录框架,如Log4Net或NLog,能够记录应用程序运行过程中的信息,便于调试和监控。 10. **部署与性能优化**:实战篇还会涵盖如何将应用部署到IIS服务器,以及如何进行性能调优,如使用缓存技术、...

    精通ASP.NET 2.0典型模块设计与实现 PDF

    8. 错误处理和日志记录:理解ASP.NET 2.0的异常处理机制,学会设置CustomErrors,以及使用EventLog或第三方库进行日志记录,有助于快速定位和解决问题。 9. AJAX支持:ASP.NET 2.0引入了AJAX技术,通过UpdatePanel...

    ASP.NET 2.0 管理系统开发经典案例房产中介管理系统

    使用CustomErrors配置进行自定义错误页面,以及利用log4net等日志库记录错误信息,便于后期排查问题。 7. **用户体验优化** 系统可能采用了AJAX技术,通过Partial Page Updates提高页面响应速度,提升用户体验。...

    asp.net2.0 获取mac地址.

    在ASP.NET 2.0中获取MAC(物理)地址是一个常见的需求,特别是在网络认证、设备唯一标识或系统安全相关的场景下。MAC地址是网络接口控制器(NIC)的硬件地址,用于在网络中唯一识别设备。虽然ASP.NET主要是服务器端...

    ASP.NET 2.0电子商务高级编程源码_原书配

    源码可能包含全局错误处理机制,如Global.asax中的Error事件,以及使用log4net或NLog等库进行日志记录。 8. **性能优化**:电子商务网站需要能处理大量并发请求,因此性能优化是关键。源码可能展示了缓存策略(如...

    明日商城源码(asp.net2.0 c#)

    【明日商城源码(asp.net2.0 c#)】是一个基于ASP.NET 2.0框架,使用C#编程语言开发的网上商城项目。这个源码对于初学者来说是一个很好的学习资源,因为它提供了完整的功能实现,包括用户管理、商品展示、购物车、订单...

    asp.net 2.0网站制作

    ASP.NET 2.0是Microsoft在2005年推出的一个用于开发Web应用程序的框架。它提供了一套完整的工具和服务来构建动态网页应用。相比早期版本,ASP.NET 2.0提供了更多的内置控件和功能,如数据绑定、用户控件、状态管理等...

    梅花日历控件应用到ASP.NET2.0中

    在ASP.NET 2.0开发环境中,为了提升用户体验并实现日期选择功能,常常会使用到日历控件。本文将详细介绍如何将梅花...通过理解和实践这些步骤,你可以为你的ASP.NET 2.0项目添加一个功能强大且易于使用的日期选择功能。

    ASP&C#教程\精通Asp.net2.0+Sql2005项目开发

    \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.net 2.0+sql server 2005+存储过程(三层架构)" 提供了关于一个电子商务平台开发的信息,它模仿了淘宝C2C(消费者对消费者)市场的功能。在这个项目中,开发者使用了微软的技术栈,包括asp...

    C#,Asp[1][1].net2.0面试题60道及答案

    - 使用Log4Net或NLog进行日志记录。 10. **持续集成与部署**: - 使用Visual Studio Team System进行版本控制和持续集成。 - 配置IIS进行网站部署。 面试中,面试官可能会根据这些知识点提出具体问题,包括理论...

    【ASP.NET编程知识】在ASP.NET 2.0中操作数据之六十九:处理Computed Columns列.docx

    在ASP.NET 2.0中,处理Computed Columns列是一个关键的数据库操作技能,尤其是在与Microsoft SQL Server集成的应用程序中。Computed Columns,也称为计算列,是数据库表中的特殊列,其值是根据表中其他列的值通过一...

    最新最全log4Net

    标题“最新最全log4Net”意味着我们将探讨的是最新版本的log4Net(2.0.8),它不仅支持多种.NET框架,如.NET Framework 2.0、3.5、4.0、4.5以及.NET Standard 1.3,而且能实现全面的功能和完美的使用体验。...

    .NET_Core2.0_使用swagger调试API接口_log4记录日志_外加上传图片

    在ASP.NET Core 2.0应用中,由于默认的日志提供者可能不足以满足复杂的需求,我们通常会引入log4net。首先,需要在项目中引用`log4net`库,然后在`appsettings.json`中配置日志输出目的地,如控制台、文件或数据库。...

    asp.net实现小区物业内部管理网

    - 使用log4net或其他日志框架记录系统事件,便于故障排查和性能分析。 10. **部署与维护** - 学习IIS(Internet Information Services)配置,进行ASP.NET应用的部署。 - 定期备份数据库,确保数据安全;进行...

    Web短信平台v1.0 C#短信网站(.net2.0技术附源代码)

    对于调试和问题排查,平台可能内置了日志记录功能,使用如Log4Net这样的日志框架,记录操作日志和错误信息。 9. **单元测试和集成测试**: 使用如NUnit或MsTest等测试框架,对平台的各个模块进行单元测试和集成...

    简单的ASP.NET2.0+ACCESS三层源码【C#】

    一个小项目,适合初学者参考学习。...该系统采用vs2008开发,完整的后台管理系统和前台展示,前台无ASP.NET自带的控件,该系统有自动记录异常信息的Log,维护和扩展都不错。开发该系统没赚到一分钱,放这里换点积分吧。

    ASP.NET 2.0中预设的cookie

    今早在老外的BLOG上看到这个说法,不妨留意一下: 如果你在asp.net 2.0中使用FormsAuthentication,并且将cookie设置为持久状态,那么其... &lt;/authentication&gt; 如果不更改TIMEOUT属性,那么当你使用asp.net 2.0的LOG

Global site tag (gtag.js) - Google Analytics