log4net 各种等级的消息 输出到不同日志文件的 配置文件方式

2024-02-05 21:18

本文主要是介绍log4net 各种等级的消息 输出到不同日志文件的 配置文件方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是用log4net 1.2.9.0环境下 将不同等级消息输出到不同日志文件的配置文件,log4net.config
在项目中增加引用,在AssemblyInfo.cs里增加一句话:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
Application_OnStart-WebForm或者在 main函数-WinForm里面增加
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("log4net.config"));
<?xml version="1.0" encoding="utf-8"?>
<log4net>
 <!--
    ALL/FATAL > ERROR > WARN > INFO > DEBUG/OFF
<logger name="PenavicoxmLogger">
  <level value="ALL" />
  <appender-ref ref="LogFileAppender" />
 </logger>
 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
  <param name="File" value="Penavicoxm.log.txt" />
  <param name="RollingStyle" value="Date" />
  <param name="datePattern" value="MM-dd HH:mm" />
  <param name="AppendToFile" value="true" />
  <layout type="log4net.Layout.PatternLayout">
   <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
  </layout>
 </appender>
 <root>
  <level value="ALL" />
  <appender-ref ref="DebugLog" />
 </root>-->
 <root>
  <level value="ALL" />
  <appender-ref ref="DebugLog" />
  <appender-ref ref="InfoLog" />
  <appender-ref ref="WarnLog" />
  <appender-ref ref="ErrorLog" />
  <appender-ref ref="FatalLog" />
 </root>
 <!--
 <root>
  <level value="DEBUG" />
  <appender-ref ref="DebugLog" />
 </root>
 <root>
  <level value="FATAL" />
  <appender-ref ref="FatalLog" />
 </root>
 <root>
  <level value="WARN" />
  <appender-ref ref="WarnLog" />
 </root>
 <root>
  <level value="ERROR" />
  <appender-ref ref="ErrorLog" />
 </root>-->
 <appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
  <file value="log/" />
  <appendToFile value="true" />
  <rollingStyle value="Date" />
  <datePattern value="yyyy//MM//dd-In/fo'.txt'" />
  <staticLogFileName value="false" />
  <layout type="log4net.Layout.PatternLayout">
   <conversionPattern value="%d [%t] %-5p %c %L - %m%n" />
  </layout>
  <filter type="log4net.Filter.LevelRangeFilter">
   <param name="LevelMin" value="INFO" />
   <param name="LevelMax" value="INFO" />
  </filter>
</appender>
 <appender name="DebugLog" type="log4net.Appender.RollingFileAppender">
  <file value="log/" />
  <appendToFile value="true" />
  <rollingStyle value="Date" />
  <datePattern value="yyyy//MM//dd-Debu/g'.txt'" />
  <staticLogFileName value="false" />
  <layout type="log4net.Layout.PatternLayout">
   <conversionPattern value="%d [%t] %-5p %c %L - %m%n" />
  </layout>
  <filter type="log4net.Filter.LevelRangeFilter">
   <param name="LevelMin" value="DEBUG" />
   <param name="LevelMax" value="DEBUG" />
  </filter>
 </appender>
 <appender name="FatalLog" type="log4net.Appender.RollingFileAppender">
  <file value="log/" />
  <appendToFile value="true" />
  <rollingStyle value="Date" />
  <datePattern value="yyyy//MM//dd-/Fa/tal'.txt'" />
  <staticLogFileName value="false" />
  <layout type="log4net.Layout.PatternLayout">
   <conversionPattern value="%d [%t] %-5p %c %L - %m%n" />
  </layout>
  <filter type="log4net.Filter.LevelRangeFilter">
   <param name="LevelMin" value="FATAL" />
   <param name="LevelMax" value="FATAL" />
  </filter>
 </appender>
 <appender name="WarnLog" type="log4net.Appender.RollingFileAppender">
  <file value="log/" />
  <appendToFile value="true" />
  <rollingStyle value="Date" />
  <datePattern value="yyyy//MM//dd-Warn'.txt'" />
  <staticLogFileName value="false" />
  <layout type="log4net.Layout.PatternLayout">
   <conversionPattern value="%d [%t] %-5p %c %L - %m%n" />
  </layout>
  <filter type="log4net.Filter.LevelRangeFilter">
   <param name="LevelMin" value="WARN" />
   <param name="LevelMax" value="WARN" />
  </filter>
 </appender>
 <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
  <file value="log/" />
  <appendToFile value="true" />
  <rollingStyle value="Date" />
  <datePattern value="yyyy//MM//dd-Error'.txt'" />
  <staticLogFileName value="false" />
  <layout type="log4net.Layout.PatternLayout">
   <conversionPattern value="%d [%t] %-5p %c %L - %m%n" />
  </layout>
  <filter type="log4net.Filter.LevelRangeFilter">
   <param name="LevelMin" value="ERROR" />
   <param name="LevelMax" value="ERROR" />
  </filter>
 </appender>
</log4net>
刚用log4net,也许配置比较累赘,主要使用filter的, 高手指点一下,有没有简洁的方式配置

这篇关于log4net 各种等级的消息 输出到不同日志文件的 配置文件方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/682195

相关文章

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu