配置文件示例:

<?xml version="1.0"?>
<configuration><configSections><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /></configSections><log4net><root><level value="DEBUG" /><appender-ref ref="WarnRollingLogFileAppender" /><appender-ref ref="InfoRollingLogFileAppender" /><appender-ref ref="ErrorRollingLogFileAppender" /></root><logger name="CustomAction"><appender-ref ref="FileAppender.CustomAction" /></logger><logger name="BehaviorLog"><appender-ref ref="FileAppender.BehaviorLog" /></logger><appender name="FileAppender.BehaviorLog" type="log4net.Appender.RollingFileAppender,log4net"><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><param name="File" value="d:\log\BehaviorLog\" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Composite" /><param name="DatePattern" value="_yyyyMMddHH.TXT" /><param name="StaticLogFileName" value="false" /><param name="MaxSizeRollBackups" value="-1" /><param name="MaximumFileSize" value="5MB" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%message%newline" /></layout></appender><appender name="FileAppender.CustomAction" type="log4net.Appender.RollingFileAppender,log4net"><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><param name="File" value="d:\log\CustomAction\" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Composite" /><param name="DatePattern" value="_yyyyMMddHH.TXT" /><param name="StaticLogFileName" value="false" /><param name="MaxSizeRollBackups" value="-1" /><param name="MaximumFileSize" value="5MB" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%message%newline" /></layout></appender><appender name="WarnRollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net" LEVEL="WARN"><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><param name="File" value="d:\log\Warn\" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Composite" /><param name="DatePattern" value="_yyyyMMddHH.TXT" /><param name="StaticLogFileName" value="false" /><param name="MaxSizeRollBackups" value="-1" /><param name="MaximumFileSize" value="5MB" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%message%newline" /></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="WARN" /><param name="LevelMax" value="WARN" /></filter></appender><appender name="ErrorRollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net" LEVEL="ERROR"><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><param name="File" value="d:\log\Error\" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Composite" /><param name="DatePattern" value="_yyyyMMddHH.TXT" /><param name="StaticLogFileName" value="false" /><param name="MaxSizeRollBackups" value="-1" /><param name="MaximumFileSize" value="5MB" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%message%newline" /></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="ERROR" /><param name="LevelMax" value="FATAL" /></filter></appender><appender name="InfoRollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net" LEVEL="INFO"><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><param name="File" value="log\Info\" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Composite" /><param name="DatePattern" value="_yyyyMMddHH.TXT" /><param name="StaticLogFileName" value="false" /><param name="MaxSizeRollBackups" value="-1" /><param name="MaximumFileSize" value="5MB" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%message%newline" /></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="INFO" /><param name="LevelMax" value="INFO" /></filter></appender></log4net>
</configuration>

关键配置项解释

  • level 定义记录日志的最低级别(日志级别从低到高顺序:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF),比如:定义为Info,则Info级别以下的都不记录日志

  • logger 定义log的类型,root是默认的log类型,该节点name在代码中获取log对象会使用到(在config中没找到对应的logger则会使用root类型)

  • appender-ref 定义log类型中的日志输出的appender配置名称

  • appender name和appender-ref值配合使用,LEVEL属性和上文的level效果一致

  • lockingModel 定义日志文件的锁定类型,MinimalLock允许多个线程写入到同一个文件

  • param 介绍
    File:文件的报错路径,可以是相对路径也可以是绝对路径
    AppendToFile:true表示日志内容追加到文件
    RollingStyle:日志文件的变换方式,日期[Date],文件大小[Size],混合[Composite],只有在Size和Composite模式下MaxSizeRollBackups和maximumFileSize的设置才有意义
    DatePattern:日志文件的后缀格式
    StaticLogFileName:是否只写入到一个文件中
    MaxSizeRollBackups:文件保留的数量,-1表示不限制,不为-1则保留最新的n个文件
    MaximumFileSize:单个文件的最大大小,超过该设置则创建新的文件

  • layout 定义日志的输出格式
    %m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
    %n(new line):換行
    %d(datetime):输出当前语句运行的时刻
    %r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
    %t(thread id):当前语句所在的线程ID
    %p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
    %c(class):当前日志对象的名称
    %L:输出语句所在的行号
    %F:输出语句所在的文件名
    %-数字:表示该项的最小长度,如果不够,则用空格填充

  • filter 日志的过滤设置,LevelRangeFilter为日志级别的范围过滤
    LevelMin 该配置项最小记录的日志级别
    LevelMax 该配置项最大记录的日志级别

log4net配置文件说明相关推荐

  1. log4net 配置文件相对路径配置

    log4net 配置文件相对路径配置 本写主要方向为对配置文件放在相对位置,并非程序(项目)根目录下的的配置方法. 一.关于配置方法 关于log4net的使用我想大家都知道,配置也是有很多的方案,在这 ...

  2. log4net 配置文件配置方法

    转自:http://www.dozer.cc/2013/06/log4net-config-file-order/ 最近把项目中所有的日志都改成了 log4net ,同事也蠢蠢欲动,用起了 log4n ...

  3. log4net配置文件样本

    <?xml version="1.0" encoding="utf-8" ?> <configuration><configSec ...

  4. log4net使用与配置文件

    什么是log4net? log4net是一个工具,帮助程序员将日志语句输出到各种输出目标. 如果应用程序出现问题,启用日志记录以便可以找到问题会很有帮助.使用log4net,可以在运行时启用日志记录, ...

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

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

  6. com+组件日志记录(log4net)

    网上找了一个操作powershell的com+组件源码,配置好后,发现启用邮箱不稳定.因此在代码中用log4net加入异常日志记录.如下: private static readonly ILog l ...

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

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

  8. asp.net core 集成 log4net 日志框架

    asp.net core 集成 log4net 日志框架 Intro 在 asp.net core 中有些日志我们可能想输出到数据库或文件或elasticsearch等,如果不自己去实现一个 Logg ...

  9. ASP.NET MVC使用log4net

    本文介绍如何在ASP.NET MVC中使用log4net来记录日志文件. 参考链接: https://www.codeproject.com/Articles/823247/How-to-use-Ap ...

最新文章

  1. AWS S3云存储服务
  2. 【IT基础】常见的开发文档
  3. 想体验从活火山上滑下来的刺激感?VR来成全你
  4. jedis中scan的实现
  5. 初学 Delphi 嵌入汇编[1] - 汇编语言与机器语言
  6. mac安装mysql mysql命令找不到_MacBook通过Homebrew安装mysql
  7. linux ls-l getswd,liunx
  8. string的compare operator
  9. Bailian2765 POJ NOI0113-03 八进制小数【进制】
  10. input输入框提示从数据库查出来的一堆数据
  11. endnotex7怎么导入中文文献,EndNote 7.0使用中文详细教程
  12. css中引入自定义字体PingFang-SC-Regular
  13. 免费的Google翻译API接口
  14. java怎么实现历史修改记录_java历史记录封装实现
  15. 技术岗网上测评-智力题
  16. 当前时间距离某个时间的天数计算_Excel如何计算当前距离某一天的时间?,原来是这样的...
  17. win7系统,打开office出现错误代码0x8007007B的解决办法
  18. SpringCloud-11-解决[NACOS HTTP-GET] The maximum number of tolerable server reconnection errors has bee
  19. [置顶] Android九环刀之RatingBar之评委请亮分
  20. 诺基亚3d贪吃蛇java版_3D贪吃蛇诺基亚六边形

热门文章

  1. BCB 生成某个范围内的随机数
  2. matlab 平面反射,一种基于MatlabGUI平台的反射板型面优化方法与流程
  3. android 主屏幕,从Android上的主屏幕快速切换设置 | MOS86
  4. vscode配置javaweb
  5. vs2010使用过程中的问题和解决、vs密钥
  6. MacBook截屏快捷键(或录制屏幕)
  7. 轻松玩转Camera,使用CameraView来拍照,修改CameraView 实现自定义拍照分辨率
  8. 单身程序员如何找对象?#罗志祥时间管理
  9. springboot+mysql健康饮食推荐系统源码49517
  10. MACS2软件进行Peak calling