1 <log4net>
 2   <root>
 3     <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
 4     <!--如果定义级别为INFO,则INFO级别向下的级别,例如DEBUG日志将不会被记录-->
 5     <!--如果没有定义LEVEL的值,则缺省为DEBUG-->
 6     <level value="ALL" />
 7     <appender-ref ref="LogFileAppender"/>
 8     <level value="FATAL"/>
 9     <appender-ref ref="CutOffAppender" />
10   </root>
11   <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
12     <param name="File" value="Log\\main.log" />
13     <param name="AppendToFile" value="true" />
14     <layout type="log4net.Layout.PatternLayout">
15       <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %p %u %c %l %m %n" />
16     </layout>
17   </appender>
18   <!--输出到回滚文件,FileAppender为单一文件-->
19   <appender name="CutOffAppender" type="log4net.Appender.RollingFileAppender">
20     <!--日志文件名-->
21     <param name="File" value="Log\\CutOff\\" />
22     <!--是否在文件中追加-->
23     <param name="AppendToFile" value="true" />
24     <!--最大变换数量-->
25     <param name="maxSizeRollBackups" value="100" />
26     <!--日期格式-->
27     <DatePattern value="yyyy\\yyyyMM\\yyyyMMdd&quot;.log&quot;" />
28     <!--变换的形式为日期-->
29     <rollingStyle value="Date" />
30     <staticLogFileName value="false" />
31     <!--是否立即输出到文件-->
32     <param name="ImmediateFlush" value="true" />
33     <layout type="log4net.Layout.PatternLayout">
34       <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %p %u %c %l %m %n" />
35     </layout>
36     <!--根据级别过滤,但没有生效,可能是我用的是Log4NetConfigurationSectionHandler-->
37     <filter type="log4net.Filter.LevelMatchFilter">
38       <param name="LevelToMatch" value="FATAL" />
39     </filter>
40   </appender>
41 </log4net>

一。Appender(引用自:https://blog.csdn.net/binnygoal/article/details/79557746)

已经实现的输出方式有:AdoNetAppender 将日志记录到数据库中。可以采用SQL和存储过程两种方式。AnsiColorTerminalAppender 将日志高亮输出到ANSI终端。AspNetTraceAppender  能用asp.net中Trace的方式查看记录的日志。BufferingForwardingAppender 在输出到子Appenders之前先缓存日志事件。ConsoleAppender 将日志输出到应用程序控制台。EventLogAppender 将日志写到Windows Event Log。FileAppender 将日志输出到文件。ForwardingAppender 发送日志事件到子Appenders。LocalSyslogAppender 将日志写到local syslog service (仅用于UNIX环境下)。MemoryAppender 将日志存到内存缓冲区。NetSendAppender 将日志输出到Windows Messenger service.这些日志信息将在用户终端的对话框中显示。OutputDebugStringAppender 将日志输出到Debuger,如果程序没有Debuger,就输出到系统Debuger。如果系统Debuger也不可用,将忽略消息。RemoteSyslogAppender 通过UDP网络协议将日志写到Remote syslog service。RemotingAppender 通过.NET Remoting将日志写到远程接收端。RollingFileAppender 将日志以回滚文件的形式写到文件中。SmtpAppender 将日志写到邮件中。SmtpPickupDirAppender 将消息以文件的方式放入一个目录中,像IIS SMTP agent这样的SMTP代理就可以阅读或发送它们。TelnetAppender 客户端通过Telnet来接受日志事件。TraceAppender 将日志写到.NET trace 系统。UdpAppender 将日志以无连接UDP数据报的形式送到远程宿主或用UdpClient的形式广播。

二.过滤器

引用自:https://blog.csdn.net/xincai/article/details/7696916

log4net里面的filter类常用的为:  1、DenyAllFilter  拒绝所用的日志输出  <filter type="log4net.Filter.LevelMatchFilter">  <param name="LevelToMatch" value="DEBUG" />        </filter>  <filter type="log4net.Filter.DenyAllFilter" />  上面的配置是如果日志的输出级别不符合DEBUG要求的话,则不输出任何日志。  2、LevelMatchFilter  这个类里面有两个属性,一个是LevelToMatch这个属性是你要匹配输出日志的级别,比如:  <filter type="log4net.Filter.LevelMatchFilter">  <param name="LevelToMatch" value="DEBUG" />        </filter>  这样的话,只有级别是DEBUG的日志才能输出。  另外这个类还有一个重要的属性就是AcceptOnMatch这个属性是设置如果这个条件匹配的话,是否接受输出打印,比如说:  <filter type="log4net.Filter.LevelMatchFilter">  <param name="LevelToMatch" value="DEBUG" />        </filter>  <filter type="log4net.Filter.StringMatchFilter">  <param name="StringToMatch" value="debug" />        </filter>  如果日志的级别为DEBVG的话,也就是说符合了第一个Filter的条件,日志就输出,则StringMatchFilter就不执行了。如果这样写的话,就会继续向下执行过滤:  <filter type="log4net.Filter.LevelMatchFilter">  <param name="LevelToMatch" value="DEBUG" />    <AcceptOnMatch value="false"></AcceptOnMatch>     </filter>  <filter type="log4net.Filter.StringMatchFilter">  <param name="StringToMatch" value="debug" />        </filter>  如果这样写的话,即使第一个Filter符合了条件则第二个Filter也会继续执行。  3、LevelRangeFilter  配置文件是这样的:  <filter type="log4net.Filter.LevelRangeFilter">  <param name="LevelMin" value="DEBUG" />  <param name="LevelMax" value="ERROR" />  </filter>  4、LoggerMatchFilter  配置文件是这样的:  <filter type="log4net.Filter.LoggerMatchFilter">  <param name="LoggerToMatch" value="Client" />  </filter>  5、StringMatchFilter  配置文件是这样的:  <filter type="log4net.Filter.StringMatchFilter">  <param name="StringToMatch" value="/blog/Client.Program" />  </filter>

 三.等级说明

在具体写日志时,一般可以这样理解日志等级:

FATAL(致命错误):记录系统中出现的能使用系统完全失去功能,服务停止,系统崩溃等使系统无法继续运行下去的错误。例如,数据库无法连接,系统出现死循环。

ERROR(一般错误):记录系统中出现的导致系统不稳定,部分功能出现混乱或部分功能失效一类的错误。例如,数据字段为空,数据操作不可完成,操作出现异常等。

WARN(警告):记录系统中不影响系统继续运行,但不符合系统运行正常条件,有可能引起系统错误的信息。例如,记录内容为空,数据内容不正确等。

INFO(一般信息):记录系统运行中应该让用户知道的基本信息。例如,服务开始运行,功能已经开户等。

DEBUG (调试信息):记录系统用于调试的一切信息,内容或者是一些关键数据内容的输出。

非常完善的Log4net详细说明:https://blog.csdn.net/binnygoal/article/details/79557746大神写的贼全

转载于:https://www.cnblogs.com/ChenhaonanFamily/p/10209857.html

Log日志文件格式说明相关推荐

  1. golang log日志

    写入日志文件 func main() {file, err := os.Create("test.log")if err != nil {log.Fatalln("fai ...

  2. 自动化测试如何生成log日志

    大家好,最近在学习自动化测试如何去打印log日志,首先我要知道为什么要去打印log日志? 答:使用通俗易懂的话表达就是因为在测试的过程中,如果某条测试用例没有执行通过,出现了bug,有了日志的记录就可 ...

  3. loguru log 日志的使用

    loguru log 日志的使用 # pip install loguru from loguru import logger # 创建out.log文件 logger.add("out.l ...

  4. linux日志手机,通过 shell 脚本 自动发送 log日志 文件内容 到手机邮箱

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 需要用到 mail 命令 如果你的系统中没有安装需要执行 (yum install -y mail sendmail) 安装 sendmail 是因为需要 ...

  5. python log函数怎么打_Python的log日志功能及设置方法

    python log函数怎么打_Python的log日志功能及设置方法_Elaine要当律师的博客-CSDN博客

  6. linux日志生成速率统计,Linux学习29-awk提取log日志信息,统计日志里面ip访问次数排序...

    前言 有一段log日志,需从日志里面分析,统计IP访问次数排序前10名,查看是否有异常攻击. 日志提取 如下日志,这段日志包含的信息内容较多,我们希望提取ip,访问时间,请求方式,访问路径(不带参数) ...

  7. tomcat的log日志乱码解决方案

    tomcat的log日志乱码解决方案 参考文章: (1)tomcat的log日志乱码解决方案 (2)https://www.cnblogs.com/q1359720840/p/10431989.htm ...

  8. oracle11gRAC之log日志体系

    oracle11gRAC之log日志体系: 1.CRS日志(grid): 首选查看alertlog: $CRS_HOME/grid/log/hostname/alertdbserver1.log Cl ...

  9. svn update -r m path 代码还原到某个版本(这样之前的log日志也就没了,也就是清空log日志)...

    [root@ok 资料库]# svn log 简历 ------------------------------------------------------------------------ r ...

最新文章

  1. WSL windows子系统开启ssh-server服务
  2. 为什么应该安装使用 Arch Linux
  3. Linux之SELinux的基本应用
  4. Android 数据存储与IO (一)
  5. python学习之老男孩python全栈第九期_day004知识点总结
  6. ML之HierarchicalClustering:自定义HierarchicalClustering层次聚类算法
  7. 【数据竞赛】图像赛排行榜拉开100名差距的技巧
  8. mysql limit耗时过长
  9. 把combobox控件添加到datagridview控件中_自定义系列:控件属性添加
  10. 字节字符区别Java_【JAVA基础】字符数组与字节数组的区别
  11. java开发岗位招聘,吊打面试官
  12. java将字节数组转换成字符串,面试心得体会
  13. 再见!经典版Edge!
  14. linux 重新安装内核,升级操作系统内核(不重新安装UltraPath)
  15. Jquery多选框互相内容交换
  16. 【网络通信 -- 直播】ZLMediaServer -- 环境搭建与测试
  17. 设置Chrome为兼容模式
  18. 思科isis路由的优先级_通过改变 EIGRP 度量值设置优先路由
  19. HEX编码、Base64编码
  20. ftp下出现“当前的安全设置不允许从该位置下载文件”提示

热门文章

  1. 查看计算机bios版本,Win10系统下查看电脑主板BIOS版本的方法
  2. amazon - amzreport 之 amazon report list
  3. java控制电脑双屏模式_win10电脑双屏幕设置方法 双屏双桌面的设置步骤
  4. 在zotero中利用better bibtex产生google scholar相同的citation key
  5. html使用表格实现网页制作
  6. 利用PPT删除图片背景(PPT图片删除背景)
  7. 市场因子(Market Factor)——投资组合分析(EAP.portfolio_analysis)
  8. java沉浸状态栏代码,Ionic实现沉浸式状态栏,状态栏与APP融为一体
  9. 最大公约数和最小公倍数,你知道有几种求法吗?
  10. sql里面如何将年月日时分秒的格式转换成年月日