LOG4NET用法(个人比较喜欢的用法)(转)

web.config配置如下:

[xhtml] view plaincopy

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <configuration>
  3. <configSections>
  4. <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  5. </configSections>
  6. <log4net>
  7. <logger name="logerror">
  8. <level value="ERROR" />
  9. <appender-ref ref="ErrorAppender" />
  10. </logger>
  11. <logger name="loginfo">
  12. <level value="INFO" />
  13. <appender-ref ref="InfoAppender" />
  14. </logger>
  15. <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
  16. <param name="File" value="Log//LogError//" />
  17. <param name="AppendToFile" value="true" />
  18. <param name="MaxSizeRollBackups" value="100" />
  19. <param name="MaxFileSize" value="10240" />
  20. <param name="StaticLogFileName" value="false" />
  21. <param name="DatePattern" value="yyyyMMdd".htm"" />
  22. <param name="RollingStyle" value="Date" />
  23. <layout type="log4net.Layout.PatternLayout">
  24. <param name="ConversionPattern" value="<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p
  25. <BR>%n异 常 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" />
  26. </layout>
  27. </appender>
  28. <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
  29. <param name="File" value="Log//LogInfo//" />
  30. <param name="AppendToFile" value="true" />
  31. <param name="MaxFileSize" value="10240" />
  32. <param name="MaxSizeRollBackups" value="100" />
  33. <param name="StaticLogFileName" value="false" />
  34. <param name="DatePattern" value="yyyyMMdd".htm"" />
  35. <param name="RollingStyle" value="Date" />
  36. <layout type="log4net.Layout.PatternLayout">
  37. <param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p
  38. <BR>%n日 志 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" />
  39. </layout>
  40. </appender>
  41. </log4net>
  42. <system.web>
  43. <compilation defaultLanguage="c#" debug="true" />
  44. <customErrors mode="RemoteOnly" />
  45. <authentication mode="Windows" />
  46. <authorization>
  47. <allow users="*" />
  48. </authorization>
  49. <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
  50. <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
  51. cookieless="false" timeout="20" />
  52. <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
  53. </system.web>
  54. </configuration>

LOG操作类

[c-sharp] view plaincopy

  1. using System;
  2. using System.IO;
  3. namespace TankAction.SystemLog
  4. {
  5. /**//// <summary>
  6. /// LogHelper的摘要说明。
  7. /// </summary>
  8. public class LogHelper
  9. {
  10. private SystemLog()
  11. {
  12. }
  13. public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
  14. public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
  15. public static void SetConfig()
  16. {
  17. log4net.Config.DOMConfigurator.Configure();
  18. }
  19. public static void SetConfig(FileInfo configFile)
  20. {
  21. log4net.Config.DOMConfigurator.Configure(configFile);
  22. }
  23. public static void WriteLog(string info)
  24. {
  25. if(loginfo.IsInfoEnabled)
  26. {
  27. loginfo.Info(info);
  28. }
  29. }
  30. public static void WriteLog(string info,Exception se)
  31. {
  32. if(logerror.IsErrorEnabled)
  33. {
  34. logerror.Error(info,se);
  35. }
  36. }
  37. }
  38. }

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

[c-sharp] view plaincopy

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

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

时间: 2024-08-30 10:59:48

LOG4NET用法(个人比较喜欢的用法)(转)的相关文章

【Ext.Net学习笔记】04:Ext.Net中使用数据、Ext.Net Store的用法、Ext.Net ComboBox用法

之前的几篇文章都是介绍Ext.Net较为基础的东西,今天的这一篇将介绍数据的一些用法,包括XTemplate绑定数据.Store(Modal.Proxy).ComboBox的用法等. XTemplate绑定数据 XTemplate是个模板,当我们为一个XTemplate绑定数据之后,将会按照模板的预定格式进行显示. <ext:Window runat="server" ID="win1" Title="XTemplates用法" Width

7.1 安装软件包的三种方法7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法7.5 yum搭建本地仓库

- 7.1 安装软件包的三种方法 - 7.2 rpm包介绍 - 7.3 rpm工具用法 - 7.4 yum工具用法 - 7.5 yum搭建本地仓库 - 扩展 1. yum保留已经安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml 2. 搭建局域网yum源 http://ask.apelearn.com/question/7627 # 7.1 安装软件包的三种方法 - windows的.exe文件实际上是一种二

逻辑表达式的用法 与或非的用法

先说逻辑与(&&),它可以从三个层次进行理解 第一个层次最简单,就是简单的布尔值之间的逻辑与,就是左值和右值都是true时,返回true,两边都是false或者两边的值其中一边是fasle,就返回false:(AND操作): 第二个层次,(false,null,indefined,0,-0,NaN和""这些都是假值,其他所有的值包括对象都是真值),对这些"真值"和"假值"进行AND操作,返回一个"真值"或者&q

7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法

7.1 安装软件包的三种方法 安装软件包的三种方法 7.2 rpm包介绍 rpm包介绍 安装目录 7.3 rpm工具用法 rpm工具用法 安装rpm包 升级rpm包 卸载rpm包 查询rpm包 查询包是否安装 查询指定包信息 7.4 yum工具用法 yum工具用法 第一列:yum  安装包名称 第二列:版本号 第三列:base 仓库名称 查看yum本地仓库内容: 把包放入容器里: 搜索rpm包 yum-组 通过yum-组安装 yum groupinstall -y yum 删除 7.5 yum搭

java8 :: 用法 (JDK8 双冒号用法)

特性 jdk8中使用了::的用法.就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下,双冒号运算就是Java中的[方法引用],[方法引用]的格式是: 类名::方法名 注意此处没有(). 案例: 表达式: person -> person.getAge(); 使用双冒号: Person::getAge 表达式: new HashMap<>() 使用双冒号: HsahMap :: new 部分代码案例 未使用双冒号 public class MyTes

::WritePrivateProfileString()的用法,以及GetPrivateProfileString的用法注意事项

WritePrivateProfileString(_T("Section1"),_T("Field1"),Field,savePath); 函数说明,这是在写*.ini文件时使用的函数,在写ini文件的时候,可以调用这个函数,而不用使用挺费劲的关于txt文件的读写. 第一个参数为当前ini文件中节的名字. 第二个参数是ini文件中的字段名:Field1=*** 第三个参数是要写入的字符串,假设Field=1234,写出来的效果应该是:Field1=1234 第四个

【Ext.Net学习笔记】03:Ext.Net DirectEvents用法详解、DirectMethods用法详解

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

windows 10 下的linux子系统用法 -- tmux分屏工具用法

1 激活linux子系统的方法见百度: 2 打开powershell,输入bash启动子系统终端:输入exit退出: 3 输入tmux attach连接会话:ctrl-b+d 返回终端:ctrl-b+s列出会话: 4 输入ctrl-b+c新建窗口:ctrl-b+&关闭当前窗口:ctrl-b+数字切换窗口: 5 输入ctrl-b+"上下分屏:ctrl-b+%左右分屏:ctrl-b关闭当前面板:ctrl-b+方向键切换面板.

struts2标签的迭代用法(&lt;s:interator&gt;)的简单用法

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- 导入struts2标签库 --> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3