Ref: http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html

http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html

http://wenku.baidu.com/link?url=AmPE0F0jj5NgwFiAICdCF_xcUZ8W1KhDwGudlEmYrOUZ3oNGnEN0qAlNU-N5etgiirjz9X6mO56RBQt7fVScWXLujQRvfrOJ7jXsw4knpWS

一. log4net程序集下载

下载地址:http://logging.apache.org/log4net/download_log4net.cgi

(选择具体版本,最新版为1.2.15 log4net-1.2.15-bin-newkey.zip

将对应dll添加到项目引用中。

具体操作参见 http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html

二. 配置log4net

如果还没有添加应用程序配置文件,则项目中添加app.config配置文件

配置内容及说明如下:

  1. <?xml version="1.0"?>
  2. <configuration>
  3. <configSections>
  4. <!--type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"-->
  5. <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  6. </configSections>
  7.  
  8. <appSettings>
    <!-- ...............-->
  9. </appSettings>
  10.  
  11. <!--Log4net 日志配置-->
  12. <log4net>
  13. <!--运行日志输出到文件中(回滚记录多文件中)-->
  14. <appender name="LogFileAppender1" type="log4net.Appender.RollingFileAppender">
  15. <!--定义文件存放位置,默认与程序同目录里-->
  16. <file value="logs\\"/>
  17. <appendToFile value="true"/>
  18. <rollingStyle value="Date"/>
  19. <datePattern value="'Log1'_yyyyMMdd'.log'"/>
  20. <staticLogFileName value="false"/>
  21. <!--一个时间保留日志的数量-->
  22. <param name="MaxSizeRollBackups" value="10"/>
  23. <param name="maximumFileSize" value="10MB"/>
  24. <layout type="log4net.Layout.PatternLayout">
  25. <!--每条日志末尾的文字说明-->
  26. <!--输出格式-->
  27. <!--样例:2016-01-01 13:42:32 ,222 [filename;line] INFO Log4NetDemo.MainClass [(null)] - info-->
  28. <!--conversionPattern value="%date [%file:%line] [%-5level] %logger[%property{NDC}] - %message%newline "-->
  29. <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss,fff} [%file:%line] [%-5level] - %message%newline "/>
  30. </layout>
  31. <!--记录INFO-FATAL级别信息-->
  32. <filter type="log4net.Filter.LevelRangeFilter">
  33. <levelMin value="INFO" />
  34. <levelMax value="FATAL" />
  35. </filter>
  36. </appender>
  37.  
  38. <!--统计日志输出到文件中-->
  39. <appender name="LogFileAppender2" type="log4net.Appender.RollingFileAppender">
  40. <!--定义文件存放位置-->
  41. <file value="logs\\"/>
  42. <appendToFile value="true"/>
    <lockingModel value="log4net.Appender.FileAppemder.MinimalLock"/> <!--多个线程访问时最小锁实现-->
  43. <rollingStyle value="Date"/>
  44. <datePattern value="'Log2'_yyyyMMdd'.log'"/>
  45. <staticLogFileName value="false"/>
  46. <!--一个时间保留日志的数量-->
  47. <param name="MaxSizeRollBackups" value="10"/>
  48. <param name="maximumFileSize" value="10MB"/>
  49. <layout type="log4net.Layout.PatternLayout">
  50. <!--每条日志末尾的文字说明-->
  51. <!--输出格式-->
  52. <!--样例:2016-01-01 13:42:32 [filename;line] INFO Log4NetDemo.MainClass [(null)] - info-->
  53. <conversionPattern value="%newline %date [%file:%line] [%-5level] %logger[%property{NDC}] - %message"/>
  54. </layout>
  55. <!--记录INFO-FATAL级别信息-->
  56. <filter type="log4net.Filter.LevelRangeFilter">
  57. <levelMin value="INFO" />
  58. <levelMax value="FATAL" />
  59. </filter>
  60. </appender>
  61. <!-- 默认采用root的话,则所有logger会同时写到对应文件中
  62. <root>
  63. <level value="ALL"/>
  64. <appender-ref ref="LogFileAppender1"/>
  65. <appender-ref ref="LogFileAppender2"/>
  66. </root>
  67. -->
  68. <logger name="Log1">
  69. <level value="ALL"/>
  70. <appender-ref ref="LogFileAppender1"/>
  71. </logger>
  72.  
  73. <logger name="Log2">
  74. <level value="ALL"/>
  75. <appender-ref ref="LogFileAppender2"/>
  76. </logger>
  77.  
  78. </log4net>
  79. <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

  Level级别:DEBUG <INFO<WARN<ERROR<FATAL

有关级别说明参考  http://blog.csdn.net/milk1626/article/details/5761738

有关写到文件还是数据库等及相关参数说明参考 http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html

三. 实际使用

注意: 在AssemblyInfo.cs文件中加入[assembly: log4net.Config.XmlConfigurator(Watch = true)] 解析相关配置文件class LoggerHelper

  1. {
    //如果只是用root做默认处理的话,可以使用如下logger
  2. //private static ILog Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  3. //log1 写入对应文件
  4. private static ILog Logger1 = log4net.LogManager.GetLogger("Log1");

  5. //log2 写入对应文件
  6. private static ILog Logger2 = log4net.LogManager.GetLogger("Log2");
  7. public static void Log1Info(string message)
  8. {
  9. Logger1.Info(message);
  10. }
  11. public static void Log2Info(string message)
  12. {
  13. Logger2.Info(message);
  14. }
    }
  15. 在其他程序中要写日志到哪个文件中可以调用相应函数

  

log4net基本日志使用笔记[windows application]的更多相关文章

  1. Quartz任务调度 服务日志+log4net打印日志+制作windows服务

    引言 现在许多的项目都需要定时的服务进行支撑,而我们经常用到的定时服务就是Quartz任务调度了.不过我们在使用定时Job进行获取的时候,有时候我们就需要记录一下自定义的日志,甚至我们还会对执行定时J ...

  2. 【5】基于Log4Net的日志系统

    阅读目录 日志系统应具备的特性  Log4Net 配置文件:log4net.config 初始化 输出信息 对Log4Net的封装 log4net.config复杂配置   不管是Web应用程序还是W ...

  3. c#.NET中日志信息写入Windows日志中解决方案

    1. 目的应用系统的开发和维护离不开日志系统,选择一个功能强大的日志系统解决方案是应用系统开发过程中很重要的一部分.在.net环境下的日志系统解决方案有许多种,log4net是其中的佼佼者.在Wind ...

  4. sqlservr (708) 打开日志文件 C:\Windows\system32\LogFiles\Sum\Api.log 时出现错误 -1032 (0xfffffbf8)

    在windows server 2012 standard上新安装好的SQL Server 2014,查看错误日志,发现此报错 sqlservr (708) 打开日志文件 C:\Windows\sys ...

  5. Log4net创建日志及简单扩展

    转:http://blog.csdn.net/CHENFEIYANG2009/article/details/5397342 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log ...

  6. Self-Host c#学习笔记之Application.DoEvents应用 不用IIS也能執行ASP.NET Web API

    Self-Host   寄宿Web API 不一定需要IIS 的支持,我们可以采用Self Host 的方式使用任意类型的应用程序(控制台.Windows Forms 应用.WPF 应用甚至是Wind ...

  7. 【转】使用Log4Net进行日志记录

    首先说说为什么要进行日志记录.在一个完整的程序系统里面,日志系统是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以使用日志系统所记录的信息为系统进行排错, ...

  8. 使用Log4net创建日志及简单扩展

    如何使用Log4net创建日志及简单扩展 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的 ...

  9. log4net将日志写入ElasticSearch

    log4net将日志写入ElasticSearch https://www.cnblogs.com/huangxincheng/p/9120028.html 很多小步快跑的公司,开发人员多则3-4个, ...

随机推荐

  1. VS2010打开就自动关闭问题解决

    前段时间开发没有使用VSS,打开项目一直正常,后来嵌入到VSS后出现了VS2010打开后就自动关闭的问题. 刚开始我重新卸载.安装了VS2010,但是还是有问题,后来重新创建了空解决方案,再次引入就正 ...

  2. Cookie和Session(session过程和设置进程外session)

    cookie 和  session 的区别 cookie 是保存在客户端上的一种机制   而session 是保存在服务端的一种机制 cookie的理解: 打个简单的比方,一个人生病了去A医院看病,回 ...

  3. SQL中空值与NULL区别

    很多人都有过这样的问题吧   在SQL中填充空值与NULL有什么区别 现在我以一个实例给大家分享一下自己的想法  恳请大家给予批评也指正 谢谢 创建一个监时表 CREATE TABLE #temp ( ...

  4. Spring与Hibernate、Mybatis整合

    在Web项目中一般会把各个web框架结合在一起使用,比如spring+hibernate,spring+ibatis等,如此以来将其他的框架整合到spring中来,便有些少许的不便,当然spring已 ...

  5. How to update FVDI Commander driver to latest V2015.6.2

    As FVDI Commander products are upgraded to new versions, I often receive emails from customers askin ...

  6. 给jdk写注释系列之jdk1.6容器(12)-PriorityQueue源码解析

    PriorityQueue是一种什么样的容器呢?看过前面的几个jdk容器分析的话,看到Queue这个单词你一定会,哦~这是一种队列.是的,PriorityQueue是一种队列,但是它又是一种什么样的队 ...

  7. Linux系统root用户忘记密码解决方法

    一:在linux系统启动时(如下图),按e键 二:进入到设置页面,定位到如下行: 三:按e键,进入输入界面 四:在编辑行最后面,空格,输入single,回车后回到第二步界面,只是后面多了single ...

  8. android代码片段二

      1.Android拦截短信 一.AndroidManifest.xml <uses-permission android:name="android.permission.RECE ...

  9. server 2003上为单点登录sso配置映射

    单点登录不是本人做的,代码需要调用类似 http://***.com/login.sso 的地址.要成功调用,需要在IIS设置.sso为后缀的映射项. Win7系统下一设置完,就能成功调用. 但是服务 ...

  10. Oracle创建表空间、新建用户和授权

    通过pl/sql以sys用户登录到Oracle数据库上,然后执行菜单:文件/新建/命令窗口 ,打开一个命令窗口然后在该命令窗口中执行脚本创建和删除表空间 . 1.创建表空间 格式:  create t ...