1           简介

1.1          Log4net的优点:

几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。

经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。

Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。

2           Log4net的结构

log4net 有四种主要的组件,分别是Logger(记录器), Repository(库), Appender(附着器)以及 Layout(布局).

3           在程序中使用log4net

重要的是配置文件的编写。

3.1          定义配置文件

配置文件

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>
  <appSettings>
  </appSettings>
  <log4net>
    <!--定义输出到文件中-->
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value=""/>
      <!--是否覆盖-->
      <appendToFile value="true"/>
      <!--名称是否可以更改 为false为可以更改-->
      <param name="StaticLogFileName" value="false"/>
      <!--文件名称-->
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;"/>
      <param name="RollingStyle" value="Date"/>
      <!--<param name="RollingStyle" value="Composite" />-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%r] [%t] %-5p  - %m%n"/>
      </layout>
    </appender>
    <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->
    <root>
      <!--文件形式记录日志-->
      <appender-ref ref="LogFileAppender" />
      -->
    </root>

</log4net>
  <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

注意:<appender-ref ref="LogFileAppender" /> 中的ref名称要和<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">的name名称一致。
 参考资料:http://www.cnblogs.com/agtaimaer/archive/2008/11/15/log4net.html

    http://www.rainsts.net/article.asp?id=488

     http://logging.apache.org/log4net/index.html

附上源代码:

/Files/zhugenqiang/Test_Log4net_Logger.rar

最后附上一个从网上搜集的配置文件工具:/Files/zhugenqiang/Log4NetEditor.rar

转载于:https://www.cnblogs.com/zhugenqiang/articles/1881071.html

Log4net 中输出日志到文件,文件名根据日期生成相关推荐

  1. log4net 无法输出日志,跟踪发现IsErrorEnabled等,都是Flase

    log4net 无法输出日志,跟踪发现IsErrorEnabled等,都是Flase. 因为这是个半路接手的项目,写法和我之前的习惯不一样,所以也没看出问题出在哪里. 代码如下: private st ...

  2. log4net不输出日志的原因及解决方案

    log4net不输出日志文件主要有以下几个原因: 1 没有在AssemblyInfo文件中添加下面的代码: [assembly: log4net.Config.XmlConfigurator(Conf ...

  3. 2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出“方法 method() 被

    2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出"方法 metho ...

  4. logcat 实时输出日志到文件(logcat输出日志到文件、同时包括多个TAG)

    adb logcat -v time -f /sdcard/test.txt -s "TAG:*" 说明:1, -v time表示日志的输出日志,默认导出来是没时间的2, -f 后 ...

  5. python输出日志到文件_【已解决】Python中,如何让多个py文件的logging输出到同一个日志log文件...

    [问题] 有一个比较长的python脚本文件,其中关于log日志输出,用的是logging,对应初始化代码为:logging.basicConfig( level = logging.DEBUG, f ...

  6. python3 logging输出到文件_python3:logging模块 输出日志到文件

    python自动化测试脚本运行后,想要将日志保存到某个特定文件,使用python的logging模块实现 参考代码: importloggingdefinitLogging(logFilename,e ...

  7. C# log4net 不输出日志

    一个新项目,直接用了一些之前的代码,突然跟踪不到日志了.检查发现了原因,特在此记录. log4net的配置文件log4net_config.xml <?xml version="1.0 ...

  8. logback系列之二:输出日志到文件

    2019独角兽企业重金招聘Python工程师标准>>> 和 logback系列之一:输出日志到控制台 类似,改动的地方: 1. logback[-test].xml文件: Java代 ...

  9. logback之三:输出日志到文件(滚动)

    实际生产中,每天都有大量的日志生成,单个文件(FileAppender)已经不能满足要求,RollingFileAppender继承了FileAppender,并提供了更多的功能: 每天生成一个日志文 ...

最新文章

  1. 学习笔记CB013: TensorFlow、TensorBoard、seq2seq
  2. java和python哪个好就业2020-Java和Python哪个发展前景好?老男孩教育
  3. GitHub 项目 增加成员
  4. why在重写equals时还必须重写hashcode方法
  5. 我的设计模式之旅(4)——生成器(建造者)模式Builder
  6. C#实现人脸识别【Users】
  7. 谷歌师兄的刷题笔记分享!
  8. TCP协议之三次握手与四次挥手
  9. Java面试11|Maven与Git
  10. 装饰模式:Decorator(转自LoveCherry)
  11. html行分割,如何确定一个html标签是否分割成多行
  12. SQL SERVER 2005 安装报错
  13. ASP.NET对IIS中的虚拟目录进行操作
  14. 有关单片机c语言的参考文献,单片机设计参考文献
  15. 桌面图标不见了怎么办?
  16. php 电梯程序设计,plc在电梯自动控制中的应用编程实例
  17. 大脑网络结构、功能和控制的物理学
  18. 希腊呼吁欧委会增加欧洲网络与信息安全管理局预算
  19. php windows挂掉,宕机是什么意思
  20. mysql查询最高分学生年龄_MySQL练习题student_score

热门文章

  1. websocket学习和群聊实现
  2. 汉王人脸1000万用户后的第一人诞生
  3. Too many links;mkdir
  4. NLP之CRF分词训练(六)
  5. mysql查询今天、昨天、7天、近30天、本月、上一月 数据
  6. jQuery remove 内存 释放
  7. 【AndroidStudio】关于SVN的相关配置简介
  8. WSUS3.0的安装及部署(域下)
  9. 使用vbscript脚本调用web服务
  10. Blockchain Patent Players and domain