webform 使用log4net配置
效果:
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配置的更多相关文章
- Common.Logging log4net Common.Logging.Log4Net 配置
1.log4net 单独配置 log4net支持多种格式的日志输出,我这里只配置输出到本地的txt文件这种格式. <log4net> <root> <appender-r ...
- Log4Net 配置StmpAppender
目录 Log4Net 配置StmpAppender 1 1.前言 1 2.详细配置 1 1.StmpAppender配置 1 2.Root 配置 2 3.更多选项 ...
- WebForm MapPageRoute 路由配置(转载)
使用场景是:MVC 混合使用 WebForm,然后对 WebForm 进行路由配置 http://www.cnblogs.com/xishuai/archive/2015/02/26/web-form ...
- C# Log4Net配置
Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件.数据库.EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题.日志的作用:将运 ...
- WebForm MapPageRoute 路由配置
WebForm MapPageRoute 路由配置 MapPageRoute 应该是 ASP.NET 4.0 中的东西,但现在我是第一次使用它,使用场景是:MVC 混合使用 WebForm,然后对 ...
- Log4net配置与使用简要说明
log4net详细配置:http://logging.apache.org/log4net/本文描述如有错误,以官网的说明为准;p 一:先来看看log4net中的几个概念: 1. log4net继承机 ...
- MVC Log4Net 配置
1.引用log4net.dll 2.在项目根目录下增加log4.config文件 <?xml version="1.0"?> <configuration> ...
- ASP.NET MVC学习之Log4Net配置(日志记录)
Log4Net配置笔记---- 首先,添加对log4net.dll的引用. 在Web.config文件下的Configuration节点下添加Log4Net的配置信息: <!--Log4Net配 ...
- C# 日志系统 log4net 配置及使用
1.引用Dll 版本是:1.2.10.0,下载Dll 2.Web.config文件配置 <?xml version="1.0" encoding="utf-8&qu ...
随机推荐
- string容器的简单实现
1.业务使用main.cpp #include "pch.h" #include <iostream> int main() { mystring s1;//无参构造函 ...
- [Alpha]Scrum Meeting#9
github 本次会议项目由PM召开,时间为4月11日晚上10点30分 时长10分钟 任务表格 人员 昨日工作 下一步工作 木鬼 撰写每日例会报告 撰写每日例会报告撰写并整理任务分配博客 SiMrua ...
- markdown页面内跳转
分两步 第一步 实际语法比较简单,在需要跳转的位置添加锚点,语法如下: <span id="jump">跳转到的地方</span> 第二步 在需要点击跳转的 ...
- 思科网络设备配置AAA认证
思科网络设备配置AAA认证登陆,登陆认证后直接进入#特权模式,下面以Cisco 3750G-24TS-S为例,其他设备配置完全是一样的,进入config terminal后命令如下: 前面是加2个不同 ...
- Mac 10.12安装Git管理工具SourceTree
说明:Git的GUI工具应该是这款最好用. 下载: (链接: https://pan.baidu.com/s/1mhRr35Y 密码: vv67)
- IPC之AIDL&binder关系
binder是一个远程对象的基础类,核心部分是远程调用机制,这部分是由IBinder定义的.它是对IBinder类的实现,其中IBinder类提供这样一个类的标准的本地化实现方式. 大多数开发者不会去 ...
- Vue单文件模板实例
AddItemComponent.vue <template> <div id="add-item-template"> <div class=&qu ...
- 使用VNC访问Windows桌面
1. 背景介绍 两台电脑,一个笔记本,一个台式机 笔记本上装的是Windows 10, 通过上网小助手上网 (P.S. 上网小助手...Stupid Policy...) 台式机上装的是Ubuntu ...
- 【转】NuGet学习笔记
关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...
- json跨域问题
一.跨域问题的原因: 1 浏览器的检查 2 跨域 3 XMLHttpRequest请求 二.跨域问题的解决: 1 禁止浏览器检查: 使用dos命令,在启动浏览器的时候,加一个参数: chrome -- ...