平时项目里一直都有在使用log4net作为日志记录模块,当时一直都没有去理解log4net的配置文件信息。今天抽出了一点时间来看了看配置文件信息。

log4net配置文件信息:

  1. <log4net>
  2. <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
  3. <param name="File" value="Log\\"/>
  4. <param name="AppendToFile" value="true"/>
  5. <param name="MaxSizeRollBackups" value="100"/>
  6. <param name="MaxFileSize" value="10240"/>
  7. <param name="StaticLogFileName" value="false"/>
  8. <param name="DatePattern" value="yyyyMMdd"/>
  9. <param name="RollingStyle" value="Date"/>
  10. <layout type="log4net.Layout.PatternLayout">
  11. <param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 常 类:%c [%x] %n%m %n"/>
  12. </layout>
  13. </appender>
  14. <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
  15. <param name="File" value="Log\\"/>
  16. <param name="AppendToFile" value="true"/>
  17. <param name="MaxSizeRollBackups" value="100"/>
  18. <param name="MaxFileSize" value="10240"/>
  19. <param name="StaticLogFileName" value="false"/>
  20. <param name="DatePattern" value="yyyyMMdd"/>
  21. <param name="RollingStyle" value="Date"/>
  22. <layout type="log4net.Layout.PatternLayout">
  23. <param name="ConversionPattern" value="%n日志时间:%d [%t] %n日志级别:%-5p %n日 志 类:%c [%x] %n%m %n"/>
  24. </layout>
  25. </appender>
  26. <logger name="logerror">
  27. <level value="ERROR"/>
  28. <appender-ref ref="ErrorAppender"/>
  29. </logger>
  30. <logger name="loginfo">
  31. <level value="INFO"/>
  32. <appender-ref ref="InfoAppender"/>
  33. </logger>
  34. </log4net>
  1. 一个appender节点,作为一种日志类型的配置,可以根据param参数,很方便地配置文件大小,是否为附加错误信息等等配置信息。
  2. 一个logger节点,作为一个具体日志对象的设置,根据不同的名称,可以设置和选择不同的日志记录方式。
  3. 当然仅仅有配置文件是不够的,我们还需要给log4net增加Helper类。
  1. public class Log4Helper
  2. {
  3. public Log4Helper()
  4. { }
  5. private static readonly ILog logerror = LogManager.GetLogger("logerror");
  6. private static readonly ILog loginfo = LogManager.GetLogger("loginfo");
  7. public static void AddError(string errMsg)
  8. {
  9. logerror.Error(errMsg);
  10. }
  11. public static void AddError(Exception ex)
  12. {
  13. logerror.Error(Environment.NewLine + ex.Message + Environment.NewLine + ex.ToString());
  14. }
  15. public static void AddError(string errMsg, Exception ex)
  16. {
  17. logerror.Error(errMsg + Environment.NewLine + ex.Message + Environment.NewLine + ex.ToString());
  18. }
  19. public static void AddInfo(string infoMsg)
  20. {
  21. loginfo.Info(infoMsg);
  22. }
  23. public static void AddInfo(string infoMsg, Exception ex)
  24. {
  25. loginfo.Info(infoMsg + Environment.NewLine + ex.Message + Environment.NewLine + ex.ToString());
  26. }
  27. }

在Helper类的帮助下,我们可以选择不同的日志记录方式,记录不同的日志信息。

写于 2014-01-08

log4net使用的更多相关文章

  1. Log4net - 规则简介

    参考页面: http://www.yuanjiaocheng.net/CSharp/csharprumenshili.html http://www.yuanjiaocheng.net/entity/ ...

  2. Log4net - 项目使用的一个简单Demo

    参考页面: http://www.yuanjiaocheng.net/entity/entitytypes.html http://www.yuanjiaocheng.net/entity/entit ...

  3. log4net使用手册

    1. log4net简介 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.Java平台下,它还 ...

  4. Log4Net应用问题

    问题 一.日志存储方式 1.txt 2.SQLServer数据库 3.log文件 二.项目类型不同 1winFrom 2webFrom 3MVC 4WPF 5控制台 三.切分依据不同 1.空间大小 2 ...

  5. 在C#代码中应用Log4Net系列教程(附源代码)

    Log4Net应该可以说是DotNet中最流行的开源日志组件了.以前需要苦逼写的日志类,在Log4Net中简单地配置一下就搞定了.没用过Log4Net,真心不知道原来日志组件也可以做得这么灵活,当然这 ...

  6. Log4net入门(帮助类篇)

    在前几篇Log4net入门文件的讲述过程中,我们在使用log4net的类中都要编写如下一行代码: private static log4net.ILog log = log4net.LogManage ...

  7. Log4net入门(WCF篇)

    在上一篇Log4net入门(ASP.NET MVC 5篇)中,我们讲述了如何在ASP.NET MVC 5项目中使用log4net.在这一篇中,我们将讲述如何在WCF应用中使用log4net,为了讲述这 ...

  8. Log4net入门(ASP.NET MVC 5篇)

    在前4篇Log4net入门文章中,我们讲述了log4net的一些简单用法,在这一篇中我们主要讲述如何在ASP.NET MVC 5项目中将日志信息写入SQL Server数据库中. 一.创建最简单的AS ...

  9. Log4net入门(SQL篇)

    我们在Log4net入门(回滚日志篇)中详细讲述了如何将日志信息输出到日志文件中,在这一篇中,我们将讲述如何将日志文件写入SQL Server数据库,以方便我们分析统计日志信息. 首先,我们在SQL ...

  10. Log4net入门(回滚日志文件篇)

    在上一篇Log4net(日志文件篇)中,我们使用"log4net.Appender.FileAppender"将日志信息输出到一个单一的文件中,随着应用程序的持续使用,该日志文件会 ...

随机推荐

  1. CF460B Little Dima and Equation (水题?

    Codeforces Round #262 (Div. 2) B B - Little Dima and Equation B. Little Dima and Equation time limit ...

  2. 懒加载的用处和赋nil操作[iOS开发教程]

    懒加载的用处和赋nil操作 1:数据,清空操作: self.array = nil; 2:归档从新从本地获取数据 self.archive = nil; ##id = nil的用处 block当参数, ...

  3. iPad 多任务 Spilt View & Size Class

    iPad 多任务 Spilt View & Size Class 一.多任务简介 iOS 9 以后iPad新增了多任务的支持,主要形式有三种: Slide Over (侧边快捷打开) Spil ...

  4. 清北学堂模拟day4 传球接力

    [问题描述]n 个小朋友在玩传球. 小朋友们用 1 到 n 的正整数编号. 每个小朋友有一个固定的传球对象,第 i 个小朋友在接到球后会将球传给第 ai个小朋友, 并且第 i 个小朋友与第 ai个小朋 ...

  5. IEnumerable<> ICollection <> IList<> 区别

    IEnumerable< ICollection < IList区别 public interface IEnumerable { IEnumerator GetEnumerator(); ...

  6. 如何禁用wordpress的RSS Feed

    RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,早期使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新.但随着采集技术的 ...

  7. CF #305 (Div. 2) C. Mike and Frog(扩展欧几里得&&当然暴力is also no problem)

    C. Mike and Frog time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  8. this.getServletContext().getRealPath("WEB-INF");

    this.getServletContext().getRealPath("WEB-INF");

  9. Java 7 Concurrency Cookbook 翻译 第一章 线程管理之一

    一.简介 在计算机的世界里,当我们谈论并发时,我们指的是一系列的任务同时运行于一个计算机中.这里说的同时运行,在计算机拥有多于一个处理器或者是一个多核处理器的时候才是真正的同时,在计算机只拥有单核处理 ...

  10. 带你走进rsync的世界

    导读 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录.rsync共有3种使用方 ...