较好的参考地址:

http://in3040.blog.163.com/blog/static/116702443201091354028744/

http://dev.tot.name/dotnet/html/2008121/20081201212538.htm

--------------------------------------------------

原文地址:http://blog.csdn.net/javc/archive/2009/03/25/4022677.aspx

web.config配置如下:
<?xml version="1.0" encoding="utf-8" ?>

<configuration>
<configSections>
  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
  <!--错误日志配置-->
  <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
   <param name="File" value="Log\\LogError\\" />  
   <param name="AppendToFile" value="true" />
   <param name="MaxSizeRollBackups" value="100" />
   <param name="MaxFileSize" value="10240" />
   <param name="StaticLogFileName" value="false" />
   <param name="DatePattern" value="yyyyMMdd" />
   <param name="RollingStyle" value="Date" />
   <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 常 类:%c [%x] %n%m %n " />
   </layout>
  </appender>

<!--信息日志配置-->
  <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
   <param name="File" value="Log\\LogInfo\\" />
   <param name="AppendToFile" value="true" />
   <param name="MaxFileSize" value="10240" />
   <param name="MaxSizeRollBackups" value="100" />
   <param name="StaticLogFileName" value="false" />
   <param name="DatePattern" value="yyyyMMdd" />
   <param name="RollingStyle" value="Date" />
   <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%n日志时间:%d [%t] %n日志级别:%-5p %n日 志 类:%c [%x] %n%m %n" />
   </layout>
  </appender>  
  <!--控制台-->
  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
   <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
   </layout>
  </appender>

<!--log4net.LogManager.GetLogger("logerror")用这个来选择这种类型-->
  <logger name="logerror">
   <level value="ERROR" />
   <appender-ref ref="ErrorAppender" />
  </logger>
  <logger name="loginfo">
   <level value="INFO" />
   <appender-ref ref="InfoAppender" />
  </logger>  
  <root>
   <level value="INFO" />
   <appender-ref ref="InfoAppender" />
   <appender-ref ref="ConsoleAppender" />
  </root>
</log4net>
</configuration>

LOG操作类
using System;  
using System.IO;

/**//// <summary>  
    /// LogHelper的摘要说明。  
    /// </summary>  
    public class LogHelper  
    {  
        private SystemLog()  
        {  
        }  
 
        public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");   //选择<logger name="loginfo">的配置
  
        public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");   //选择<logger name="logerror">的配置
  
        public static void SetConfig()  
        {  
           log4net.Config.XmlConfigurator.Configure();  
        }  
 
        public static void SetConfig(FileInfo configFile)  
        {  
           log4net.Config.XmlConfigurator.Configure(configFile);   
        }  
 
        public static void WriteLog(string info)  
        {  
            if(loginfo.IsInfoEnabled)  
            {  
                loginfo.Info(info);  
            }  
        }  
 
        public static void WriteLog(string info,Exception se)  
        {  
            if(logerror.IsErrorEnabled)  
            {  
                logerror.Error(info,se);  
            }  
        }  
    }

Global.asax.cs文件配置如下:

protected void Application_Start(Object sender, EventArgs e)  
  {  
            SystemLog.SetConfig();  
  }  
  protected void Application_Error(Object sender, EventArgs e)  
  {  
   Exception objExp = HttpContext.Current.Server.GetLastError();  
   LogHelper.WriteLog("\r\n客户机IP:"+ Request.UserHostAddress +"\r\n错误地址:"+ Request.Url +"\r\n异常信息:"+ Server.GetLastError().Message,objExp);  
  } 
protected void Application_Start(Object sender, EventArgs e)
  {
            SystemLog.SetConfig();
  }
  protected void Application_Error(Object sender, EventArgs e)
  {
   Exception objExp = HttpContext.Current.Server.GetLastError();
   LogHelper.WriteLog("\r\n客户机IP:"+ Request.UserHostAddress +"\r\n错误地址:"+ Request.Url +"\r\n异常信息:"+ Server.GetLastError().Message,objExp);
  }

eg:
   try
   {}
   catch(Exception ex)
   {
       LogHelper.WriteLog("ErrorInfo"ex);
   }

以上本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/javc/archive/2009/03/25/4022677.aspx

1.调用步骤

1.config配置

2.初始化配置 log4net.Config.XmlConfigurator.Configure();

3.调用logger.Info("asdfasd");

2.细节详解

1.Log4net框架定义了一个叫做LogManager的类,用来管理所有的logger对象。它有一个GetLogger()静态方法,用我们提供的名字参数来检索已经存在的Logger对象。如果框架里不存在该Logger对象,它也会为我们创建一个Logger对象。代码如下所示:

log4net.ILog log = log4net.LogManager.GetLogger("logger-name");

通常来说,我们会以类(class)的类型(type)为参数来调用GetLogger(),以便跟踪我们正在进行日志记录的类。传递的类(class)的类型(type)可以用typeof(Classname)方法来获得,或者可以用如下的反射方法来获得:
log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

尽管符号长了一些,但是后者可以用于一些场合,比如获取调用方法的类(class)的类型(type)。
例: private void button1_Click(object sender, EventArgs e)
        {

logger.Info("sdfasd");
        }

System.Reflection.MethodBase.GetCurrentMethod().DeclaringType 就为button1_Click这个方法所在的类的类型

2.配置XmlConfigurator

使用代码初始化配置。
log4net.Config.XmlConfigurator.Configure(new FileInfo("test.log4net"));
使用 XmlConfigurator.ConfigureAndWatch() 方法除了初始化配置外,还会监测配置文件的变化,一旦发生修改,将自动刷新配置。
我们还可以使用 XmlConfiguratorAttribute 代替 XmlConfigurator.Config()/ConfigureAndWatch(),ConfiguratorAttribute 用于定义与 Assembly 相关联的配置文件名。
方式1: 关联到 test.log4net,并监测变化。
[assembly: log4net.Config.XmlConfigurator(ConfigFile="test.log4net", Watch=true)]
方式2: 关联到 test.exe.log4net (或 test.dll.log4net,文件名前缀为当前程序集名称),并监测变化。
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension="log4net", Watch=true)]

log4net logfornet 配置和用法的更多相关文章

  1. LOG4NET日志配置及使用

    Log4net的安装 Install-Package log4net 1.先弄个日志记录的类 /// <summary> /// 使用LOG4NET记录日志的功能,在WEB.CONFIG里 ...

  2. log4net的配置与使用

    log4net解决的问题是在.Net下提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括MS SQ ...

  3. 将Log4net的配置配置到的独立文件中

    本文转载:http://blog.csdn.net/wanzhuan2010/article/details/7587780 另外一篇博客:http://grim1980.blog.sohu.com/ ...

  4. Log4Net 日志配置[附带源码]

    前述 园子里有许多人对log4net这款开源的日志记录控件有很多介绍.在这里个人再做一次总结,希望对以后有所帮助,需要的时候可以直接使用,减少查阅资料的时间.利用log4net可以方便地将日志信息记录 ...

  5. Log4Net详细配置

    关于Log4Net配置主要分几步 第一步:下载log4net.dll(log4net官网:http://logging.apache.org/log4net/download_log4net.cgi) ...

  6. 日志管理-将Log4net的配置配置到的独立文件中

    转自:http://www.cnblogs.com/zfanlong1314/p/3662679.html使用log4net已经很久了.但从来没有详情了解log4的参数,及具体使用方法.看了周公的博客 ...

  7. Log4net快速配置使用指南。(快速搭建log4net日志平台手册)

    每做一个新项目,都会用到log4net,但总是忘记如何快速配置.有时在网上搜半天也找不到好的模板,大都在介绍参数的使用,在此做下总结,争取下次用时仅10分钟就可搭建好log4net. 直接上介绍的步骤 ...

  8. C# log4net 的配置

    项目的日志组件是必备可少的,任何项目中都需要.这样既方便前期的开发测试也方便项目后期的项目维护.C#项目的一个不错的日志组件是log4net,下面我就把桌面应用程序.控制台程序.网站中log4net的 ...

  9. Mybatis 系列7-结合源码解析核心CRUD 配置及用法

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

随机推荐

  1. poj3254:基础状压dp

    第二个状压dp 做过的第一个也是放牛问题,两头牛不能相邻 这个题多了一个限制,就是有些位置不能放牛 于是先与处理一下每一行所有不能放牛的状态,处理的过程直接对每一个不能放牛的状态或以下 ac代码: # ...

  2. hdu5035:概率论推公式

    题目大意: 你要去邮局发一个包裹,有n个窗口,每个都有人,每一个窗口完成一次服务的时间 ti 的分布符合几何分布:ki*e^(-ki*t) 每个窗口当前服务已经进行了ci时间 你会去第一个完成当前服务 ...

  3. 【剑指offer】面试题41:和为 s 的两个数字 VS 和为 s 的连续正数序列

    题目: 输出所有和为S的连续正数序列.序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序 思路: small代表序列最小数字,large代表序列最大数字.初始化small为1,large为2. ...

  4. socketFunction

    socket     socket() 我们使用系统调用socket()来获得文件描述符: #include<sys/types.h> #include<sys/socket.h&g ...

  5. Install and configure sql server 2008 express

    http://www.symantec.com/connect/articles/install-and-configure-sql-server-2008-express

  6. Webservice-Java-Xfire

    最近公司最近需要将以前提供出去的接口统一用一个标准来实现,考虑到webservice这个是标 准,因此我花时间大概学习了一下webservice,也对JAVA的几个webservice框架进行了一些小 ...

  7. 湖南省第六届大学生程序设计大赛原题 F Biggest Number (UVA1182)

    Biggest Number http://acm.hust.edu.cn/vjudge/contest/view.action?cid=30851#problem/F 解题思路:DFS(检索)+BF ...

  8. Hadoop Failed to set permissions of path

    在Eclipse里面写了个測试程序:把HDFS中的数据批量导入到HBase中 写好后,在本地測试遇到了例如以下问题: 14/04/21 16:49:53 WARN util.NativeCodeLoa ...

  9. hdu1015(Safecracker )

    Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Kle ...

  10. 一张图看懂dex

    最近在看dex文件格式,看的是飞虫大大的android软件安全与逆向分析一书,写的条理很清晰.相对于elf文件来说,dex文件格式简单了很多,但是提到某个字段,仍然难以想象其所处位置.所以一直想用思维 ...