<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections> <log4net> <root>
<level value="ALL" />
<appender-ref ref="InfoAppender" />
<appender-ref ref="WarnAppender" />
<appender-ref ref="ErrorAppender" />
<appender-ref ref="FatalAppender" />
<appender-ref ref="DebugAppender" />
</root>
<!-- 输出模式定义 -->
<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
<!--日志路径: 兼容相对路径和绝对路径,此语句等价于<File value="Logs\"/> -->
<param name= "File" value= "Logs\"/>
<!--是否是向文件中追加日志-->
<param name= "AppendToFile" value= "true"/>
<!--保留天数-->
<param name= "MaxSizeRollBackups" value= "-1"/>
<!--日志文件名是否固定不变的-->
<param name= "StaticLogFileName" value= "false"/>
<!--日志文件名格式为:2017-01-12_Info.log-->
<param name= "DatePattern" value= "yyyy-MM-dd&quot;_Info.log&quot;"/>
<!--日志根据日期滚动-->
<param name= "RollingStyle" value= "Date"/>
<!-- 写入记录文件时的格式%p应该指模式如WARN,%m应该指Message值,%n应该是换行的意思。接着输出Exception -->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{yyyy-MM-dd HH:mm:ss.fff} %-8p %m%n" />
</layout>
<!-- 此模式输出的级别范围 -->
       <!-- FATAL > ERROR > WARN > INFO > DEBUG --> 
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="INFO" />
</filter>
</appender> <appender name="WarnAppender" type="log4net.Appender.RollingFileAppender">
<File value= "Logs\"/>
<param name= "AppendToFile" value= "true"/>
<param name= "MaxSizeRollBackups" value= "10"/>
<!-- 能保存的文件最大值,假设某次输出后该文件如mm_warn.log的大小将会超过最大值3KB,则此次输出仍有效,但是下次输出则会将该文件重命名为mm_warn.log.1,且生成一个新的mm_warn.log文件以供记录输出内容。 -->
<param name="MaximumFileSize" value="3KB" />
<param name= "StaticLogFileName" value= "false"/>
<param name= "DatePattern" value= "yyyy-MM-dd&quot;_Warn.log&quot;"/>
<param name= "RollingStyle" value= "Composite"/>
<!-- 写入记录文件时的格式 -->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{yyyy-MM-dd HH:mm:ss.fff} %-8p %m%n" />
</layout>
<!-- 此模式输出的级别范围 -->
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN" />
<levelMax value="WARN" />
</filter>
</appender> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<param name= "File" value= "Logs\"/>
<param name= "AppendToFile" value= "true"/>
<param name= "MaxSizeRollBackups" value= "10"/>
<!-- 能保存的文件最大值 -->
<param name="MaximumFileSize" value="1MB" />
<param name= "StaticLogFileName" value= "false"/>
<param name= "DatePattern" value= "yyyy-MM-dd&quot;_Error.log&quot;"/>
<param name= "RollingStyle" value= "Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{yyyy-MM-dd HH:mm:ss.fff} %-8p %m%n" />
</layout>
<!-- 此模式输出的级别范围 -->
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="ERROR" />
</filter>
</appender> <appender name="FatalAppender" type="log4net.Appender.RollingFileAppender">
<param name= "File" value= "Logs\"/>
<param name= "AppendToFile" value= "true"/>
<param name= "MaxSizeRollBackups" value= "10"/>
<param name= "StaticLogFileName" value= "false"/>
<param name= "DatePattern" value= "yyyy-MM-dd&quot;_Fatal.log&quot;"/>
<param name= "RollingStyle" value= "Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{yyyy-MM-dd HH:mm:ss.fff} %-8p %m%n" />
</layout>
<!-- 此模式输出的级别范围 -->
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="FATAL" />
<levelMax value="FATAL" />
</filter>
</appender> <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
<param name= "File" value= "Logs\"/>
<param name= "AppendToFile" value= "true"/>
<param name= "MaxSizeRollBackups" value= "10"/>
<param name= "StaticLogFileName" value= "false"/>
<param name= "DatePattern" value= "yyyy-MM-dd&quot;_Debug.log&quot;"/>
<param name= "RollingStyle" value= "Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{yyyy-MM-dd HH:mm:ss.fff} %-8p %m%n" />
</layout>
<!-- 此模式输出的级别范围 -->
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="DEBUG" />
</filter>
</appender> </log4net>
</configuration>

log4net的分类型输出文件的配置的更多相关文章

  1. Log4net 根据日志类型输出日志

    第一步:引入Log4net.dll 文件的引用 第二步:添加LogHelper类,代码如下 using System; using System.Collections.Generic; using ...

  2. 《objective-c基础教程》学习笔记 (一)—— 开发环境配置和简单类型输出

    懒惰是富有最大的敌人,再不前进,我们就out了.最近工作比较轻松,不是很忙.于是想晚上下班回家学习点新东西.看着苹果大军的一天天壮大,心里也是痒痒的.于是就想先系统的学习下Objective-C,为之 ...

  3. Log4j2的日志配置文件,log4j2.xml文件的配置(实现控制台输出,各级别分别文件输出,自动压缩等)

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE html PUBLIC "-//W ...

  4. 动态配置log4j2.xml日志输出文件的位置

    目标:根据启动jar时传进main()的参数动态修改日志位置 一.修改启动项 MainMapLookup.setMainArguments(args);注:不要在lookup设置之前初始化log(如: ...

  5. logback为单独的包或者类配置输出文件

    最近接一个这样的需求,为某个类的日志输出到指定的文件.一般都是按日志级别输出到对应的文件中.查阅相关资料和logback教程,写出下面的demo供参考. 1.添加一个appender <!-- ...

  6. C# iis 错误配置信息( CS0016: 未能写入输出文件 )

    IIS发布时,编译器错误消息: CS0016: 未能写入输出文件 "c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.N ...

  7. log4net使用(包括单个文件和按日期生成多个文件)

    1.log4net生成单个文件 直接将这段代码考到config中即可用 <log4net> <!--定义输出到文件中--> <appender name="Lo ...

  8. 随着MapReduce job实现去加重,多种输出文件夹

    总结以往的工作中遇到的一个问题. 背景: 操作和维护与scribe从apacheserver一再被推到日志记录,所以在这里ETL处理正在进行的重.有根据业务的输出类型是用于多文件夹一个需求.方便挂分区 ...

  9. JavaScript 和 TypeScript 交叉口 —— 类型定义文件(*.d.ts)

    在 <从 JavaScript 到 TypeScript 系列> 文章我们已经学习了 TypeScript 相关的知识. TypeScript 的核心在于静态类型,我们在编写 TS 的时候 ...

随机推荐

  1. Object.wait()与Object.notify()的用法

    http://www.cnblogs.com/xwdreamer/archive/2012/05/12/2496843.html 参考文献: object.wait()和object.notify() ...

  2. CALayer --> UIView

    一.CALayer和UIView的关系 UIView显示在屏幕上归功于CALayer 可以说:UIView依赖CALayer,又高于CALayer 通过调用drawRect方法来渲染自身的内容,调节C ...

  3. 转:lr_eval_string,lr_save_string 和 sprintf 的使用

    lr_eval_string,lr_save_string和 sprintf 函数使用介绍 一.lr_eval_string 使用介绍1.函数的主要作用:返回脚本中的一个参数当前的值,返回值类型:ch ...

  4. NanoApe Loves Sequence Ⅱ(尺取法)

    题目链接:NanoApe Loves Sequence Ⅱ Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/131072 ...

  5. LINQ to SQL语句对应SQL的实现

    LINQ to SQL语句(1)之Where LINQ to SQL语句(2)之Select/Distinct LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg LINQ ...

  6. web容器启动顺序

    web容器启动顺序: 第一:context-param 第二:Listerer 第三:Filter 第四:servlet

  7. phantom" breakpoints

    http://stackoverflow.com/questions/723199/why-does-my-eclipse-project-have-phantom-debugger-breakpoi ...

  8. clip实现圆环进度条

    效果主要通过clip和transform:rotate实现 把圆环分为左右两个部分,通过角度旋转对图片剪切旋转角度<=180度的时候之旋转右边,当大于180度时右边固定旋转180度的同时旋转左边 ...

  9. LWIP_STM32_ENC28J60_NETCONN_TCP_CLIENT(4)

    既然udp说完了,那接下来自然就是TCP通讯了,今天说说TCP客户端通讯,也就是单片机作为客户端,主机PC作为服务器 相比于udp而言,tcp增加了一个连接服务器的流程,首先还是创建tcp_clien ...

  10. SSL 双向认证

    利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件.下面以C/S模式说明证 ...