效果:

web.config配置

<configuration>
<configSections>
<!--log4net日志记录-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<!--日志文件配置-->
<log4net>
<root>
<!--只有在这个级别或之上的事件才会被记录-->
<level value="ALL"/>
<!--RollingFileAppender事件日志,每天一个日志-->
<appender-ref ref="LogFileAppender_DateFormat"/>
</root>
<!--logger name:必须的,logger的名称 additivity:可选,取值是true或false,默认值是true。设置为false时将阻止父logger中的appender-->
<logger name="myLoggin">
<!--只有在这个级别或之上的事件才会被记录-->
<level value="DEBUG"/>
<appender-ref ref="LogFileAppender_DateFormat"/>
</logger>
<!--定义日志的输出方式,只能作为 log4net 的子元素。name属性必须唯一,type属性必须指定。name:必须的,Appender对象的名称 type:必须的,Appender对象的输出类型-->
<appender name="LogFileAppender_DateFormat" type="log4net.Appender.RollingFileAppender">
<!--保存路径:下面路径项目启动的时候自动创建Log文件夹-->
<file value="Log\\"/>
<appendToFile value="true"/>
<!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
<rollingStyle value="Date"/>
<!--这是按日期产生文件夹-->
<datePattern value="yyyyMM\\yyyyMMdd'.txt'"/>
<!--是否只写到一个文件中-->
<staticLogFileName value="false"/>
<param name="AppendToFile" value="true"/>
<!--控制Appender的输出格式,也可以是xml 一个Appender只能是一个layout-->
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明-->
<param name="Header" value="[Header]"/>
<param name="Footer" value="[Footer] "/>
<param name="ConversionPattern" value="
%n 时间:%date
%n 线程ID:[%thread]
%n 日志级别:%-5level
%n 记录类:%logger
%n 消息:%message%n"/>
</layout>
<!--定义过滤器-->
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
<param name="LevelMax" value="WARN"/>
</filter>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
</appender>
</log4net>
</configuration>

添加文件夹和类:

Log.cs代码:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace JRE.Member
{
public static class Log
{
public static log4net.ILog GetLogObject()
{
return log4net.LogManager.GetLogger("LogFileAppender_DateFormat");
}
}
}

调用日志:

//每个方法调用花费时间
Stopwatch wTime = new Stopwatch();
wTime.Start(); context.Response.ContentType = "text/plain";
response = context.Response;
request = context.Request;
cont = context;
context.Response.Buffer = true;
context.Response.ExpiresAbsolute = DateTime.Now.AddDays(-);
context.Response.AddHeader("pragma", "no-cache");
context.Response.AddHeader("cache-control", "");
context.Response.CacheControl = "no-cache";
context.Response.ContentType = "text/plain";
System.Reflection.MethodInfo methodinfo = this.GetType().GetMethod(action);
methodinfo.Invoke(this, null);
//当前所消耗时间
wTime.Stop();
Log.GetLogObject().DebugFormat("lan:{0}|Source:{1}|Reach_ID:{2}|ver:{3}|DeviceNumber:{4}|action:{5}|TOKEN:{6}|调用[{7}]方法花费的时间:{8}毫秒", lan, Source,Reach_ID,ver,DeviceNumber,action,TOKEN,action, wTime.Elapsed.TotalMilliseconds);
HttpContext.Current.Response.End()

webform 使用log4net配置的更多相关文章

  1. Common.Logging log4net Common.Logging.Log4Net 配置

    1.log4net 单独配置 log4net支持多种格式的日志输出,我这里只配置输出到本地的txt文件这种格式. <log4net> <root> <appender-r ...

  2. Log4Net 配置StmpAppender

    目录 Log4Net 配置StmpAppender    1 1.前言    1 2.详细配置    1 1.StmpAppender配置    1 2.Root 配置    2 3.更多选项     ...

  3. WebForm MapPageRoute 路由配置(转载)

    使用场景是:MVC 混合使用 WebForm,然后对 WebForm 进行路由配置 http://www.cnblogs.com/xishuai/archive/2015/02/26/web-form ...

  4. C# Log4Net配置

    Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件.数据库.EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题.日志的作用:将运 ...

  5. WebForm MapPageRoute 路由配置

    WebForm MapPageRoute 路由配置   MapPageRoute 应该是 ASP.NET 4.0 中的东西,但现在我是第一次使用它,使用场景是:MVC 混合使用 WebForm,然后对 ...

  6. Log4net配置与使用简要说明

    log4net详细配置:http://logging.apache.org/log4net/本文描述如有错误,以官网的说明为准;p 一:先来看看log4net中的几个概念: 1. log4net继承机 ...

  7. MVC Log4Net 配置

    1.引用log4net.dll 2.在项目根目录下增加log4.config文件 <?xml version="1.0"?> <configuration> ...

  8. ASP.NET MVC学习之Log4Net配置(日志记录)

    Log4Net配置笔记---- 首先,添加对log4net.dll的引用. 在Web.config文件下的Configuration节点下添加Log4Net的配置信息: <!--Log4Net配 ...

  9. C# 日志系统 log4net 配置及使用

    1.引用Dll 版本是:1.2.10.0,下载Dll 2.Web.config文件配置 <?xml version="1.0" encoding="utf-8&qu ...

随机推荐

  1. 【转载】基于Redis实现分布式锁

    背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等.大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端 ...

  2. Redis实现分布式存储Session

    前言: 在单个项目时,一般都是用HttpSession接口存储当前登录用户的信息.但是在分布式项目的情况下,session是不会共享的,那怎么实现session共享呢?往下看.... 一.准备工作(基 ...

  3. BZOJ - 2500 树形DP乱搞

    题意:给出一棵树,两个给给的人在第\(i\)天会从节点\(i\)沿着最长路径走,求最长的连续天数\([L,R]\)使得\([L,R]\)为起点的最长路径极差不超过m 求\(1\)到\(n\)的最长路经 ...

  4. PHP队列的实现 算法

    <?php /** * php队列算法 * * Create On 2010-6-4 * Author Been * QQ:281443751 * Email:binbin1129@126.co ...

  5. 深入了解Looper、Handler、Message之间关系

    深入了解Looper.Handler.Message之间关系 前言及简介 上个星期我们整个项目组趁着小假期,驱车去了江门市的台山猛虎峡玩了两个多钟左右极限勇士全程漂流,感觉真得不错,夏天就应该多多玩水 ...

  6. java常量类的实现方式_枚举类_项目实践

    前言 众所周知,系统里有很多比如订单状态.审核状态:性别.结算方式.交易类型等属性,这些属性只有几个值,一般用0.1.2.3等的数字标识存入数据库,每次对这些属性所属对象的增删改操作,都会在代码里给状 ...

  7. Hibernate核心开发接口_SessionFactory详解

    SessionFactory: a)  用来产生和管理Session b)通常情况下每个应用只需要一个SessionFactory c)除非要访问多个数据库的情况 d) 关注两个方法即:  openS ...

  8. 使用Thumbnailator处理gif图片时遇到java.lang.ArrayIndexOutOfBoundsException: 4096异常处理

    环境 1.7.0_80 在使用Thumbnailator处理gif图片时,遇到问题: Exception in thread "main" java.lang.ArrayIndex ...

  9. manjaro 清理系统

    sudo pacman -Rsn $(pacman -Qdtq) sudo pacman -Scc sudo rm /var/lib/systemd/coredump/. sudo journalct ...

  10. java多线程---------java.util.concurrent并发包

    所有已知相关的接口 1.BlockingDeque<E> 2.BlockingQueue<E> 3.Callable<V> 4.CompletionService& ...