首页 > 其他分享 >slf4j配置

slf4j配置

时间:2023-09-04 22:22:07浏览次数:34  
标签:msg% MM dd 配置 HH yyyy mm slf4j

<?xml version="1.0" encoding="UTF-8"?>
<!--
configuration作为logback的根节点有以下属性
   scan: 默认为true, 配置文件发生变化, 将会被重新加载
   scanPeriod: 检测配置文件是否有修改的间隔时间,默认1分钟
   debug: 默认为false, true时会打印logback内部日志信息
   packagingData: 默认为false, true时, logback可以包含它输出的堆栈跟踪行的每一行的打包数据。打包数据由jar文件的名称和版本组成,而这个jar文件是由堆栈跟踪线的类产生的
-->
<configuration debug="false">

   <!--指定某开发环境下日志文件的存储路径-->
   <springProfile name="prod">
       <property name="LOG_HOME" value="/www/wwwroot/yxxapi.fenxiangzl.com/log/"/>
   </springProfile>

   <springProfile name="dev">
       <property name="LOG_HOME" value="s/tianhen/Desktop/yxx_applet_java/log/"/>
   </springProfile>


   <!--控制台 -->
   <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
       <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
           <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
           <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
       </encoder>
   </appender>

   <!--只记录INFO级别的日志-->
   <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
       <!--追加
              值为 true:表示日志框架将在现有日志文件的末尾追加新的日志消息,
              为 false,则会在每次日志记录时都创建一个新的日志文件,覆盖以前的日志文件。
       -->
       <append>true</append>

       <!--过滤器,只记录INFO级别的日志-->
       <filter class="ch.qos.logback.classic.filter.LevelFilter">
           <!--过滤级别-->
           <level>INFO</level>
           <!--匹配是的操作:接收(记录)-->
           <onMatch>ACCEPT</onMatch>
           <!--不匹配时的操作:拒接(记录)-->
           <onMismatch>DENY</onMismatch>
       </filter>

       <!-- 每日滚动策略 - 日志文件根据文件大小和时间进行滚动-->
       <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
           <!--日志文件输出的文件名-->
           <fileNamePattern>${LOG_HOME}%d{yyyy-MM-dd}-info.log</fileNamePattern>
           <!--日志文件保留天数-->
           <maxHistory>30</maxHistory>
       </rollingPolicy>

       <encoder charset="UTF-8">
           <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
           <charset>UTF-8</charset>
       </encoder>

       <!--日志文件最大的大小-->
       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
           <MaxFileSize>10MB</MaxFileSize>
       </triggeringPolicy>
   </appender>

   <!--只记录WARN级别的日志-->
   <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
       <!--追加-->
       <append>true</append>

       <!--过滤器,只记录WARN级别的日志-->
       <filter class="ch.qos.logback.classic.filter.LevelFilter">
           <!--过滤级别-->
           <level>WARN</level>
           <!--匹配是的操作:接收(记录)-->
           <onMatch>ACCEPT</onMatch>
           <!--不匹配时的操作:拒接(记录)-->
           <onMismatch>DENY</onMismatch>
       </filter>

       <!-- 每日滚动策略 - 日志文件根据文件大小和时间进行滚动-->
       <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
           <!--日志文件输出的文件名-->
           <fileNamePattern>${LOG_HOME}%d{yyyy-MM-dd}-warn.log</fileNamePattern>
           <!--日志文件保留天数-->
           <maxHistory>30</maxHistory>
       </rollingPolicy>

       <encoder charset="UTF-8">
           <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
           <charset>UTF-8</charset>
       </encoder>

       <!--日志文件最大的大小-->
       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
           <MaxFileSize>10MB</MaxFileSize>
       </triggeringPolicy>
   </appender>

   <!--过滤器,只记录ERROR级别的日志-->
   <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
       <!--追加-->
       <append>true</append>

       <!--过滤器,只记录ERROR级别的日志-->
       <filter class="ch.qos.logback.classic.filter.LevelFilter">
           <!--过滤级别-->
           <level>ERROR</level>
           <!--匹配是的操作:接收(记录)-->
           <onMatch>ACCEPT</onMatch>
           <!--不匹配时的操作:拒接(记录)-->
           <onMismatch>DENY</onMismatch>
       </filter>

       <!-- 每日滚动策略 - 日志文件根据文件大小和时间进行滚动-->
       <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
           <!--日志文件输出的文件名-->
           <fileNamePattern>${LOG_HOME}%d{yyyy-MM-dd}-error.log</fileNamePattern>
           <!--日志文件保留天数-->
           <maxHistory>30</maxHistory>
       </rollingPolicy>

       <!--指定日志消息编码方式-->
       <encoder charset="UTF-8">
           <!--日志消息的输出格式:
               [%d{yyyy-MM-dd HH:mm:ss.SSS}]: 这部分是日期和时间戳的占位符,%d{yyyy-MM-dd HH:mm:ss.SSS} 表示以指定的日期时间格式(年-月-日 时:分:秒.毫秒)显示日志消息的时间戳。
               %level: 这个占位符将显示日志事件的级别,例如 INFO、DEBUG、ERROR 等。
               [%thread]: 这个占位符将显示产生日志消息的线程名称。
               %file:%line: 这个占位符将显示产生日志消息的源文件名称和行号。
               %msg: 这个占位符将显示实际的日志消息内容。
               %n: 这是一个特殊的占位符,表示换行符,用于分隔不同的日志消息。
           -->
           <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
           <charset>UTF-8</charset>
       </encoder>

       <!--日志文件最大的大小-->
       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
           <MaxFileSize>10MB</MaxFileSize>
       </triggeringPolicy>
   </appender>


   <!--不同环境下输出的日志类别-->
   <springProfile name="dev">
       <root level="INFO">
           <appender-ref ref="CONSOLE"/>
           <appender-ref ref="INFO"/>
           <appender-ref ref="WARN"/>
           <appender-ref ref="ERROR"/>
       </root>
   </springProfile>

   <springProfile name="prod">
       <root level="INFO">
           <appender-ref ref="INFO"/>
           <appender-ref ref="WARN"/>
           <appender-ref ref="ERROR"/>
       </root>
   </springProfile>

</configuration>

 

标签:msg%,MM,dd,配置,HH,yyyy,mm,slf4j
From: https://www.cnblogs.com/xinyu-yudian/p/17678254.html

相关文章

  • Git使用经验总结2-配置用户名邮箱
    可以使用gitconfig指令来配置一些设置,比如配置用户名邮箱。在开发团队要求成员配置用户名和邮箱是很有用的,可以配合工具区分成员的代码,以及将代码中的问题发送给成员的邮箱中。查看当前Git的用户名及邮箱的指令:gitconfiguser.namegitconfiguser.email修改Git用户名及邮......
  • windows驱动配置
    (一)C/C++属性设置1.添加包含文件"$(WDK)\inc\crt";"$(WDK)\inc\api";"$(WDK)\inc\ddk"2.设置目标平台Preprocessor:_X86_3.修改调用约定为__stdcall(/Gz)4.运行时库选择多线程调试(MTd)或者多线程(MT)基本运行时检查:默认值(二)Linker属性设置1.General:......
  • vim配置和插件
    Linux干活三板斧,shell、vim和git 下面主要内容包括:1、vim安装及基本设置2、插件安装及设置3、快捷键设置     2vim安装及基本设置   下面内容包括:1、vim安装2、查看对python支持3、基本设置    2.1vim安装    sudoapt-getinstal......
  • Smartkit安装Ubuntu OS系统后,执行脚本批量配置网络和更新软件
    #!/bin/bash#---------------------#systeminitconfig#---------------------#enablerootloginsed-i.bak'31a\PermitRootLoginyes'/etc/ssh/sshd_config/etc/init.d/sshrestart#enableofflinehuaweicloudsources.listcat>/etc/apt/s......
  • 配置iSCSI存储
    【更新】【WindowsServer2019】存储服务器的配置和管理——iSCSI的安装和配置(上)_windows搭建iscsi服务器_NOWSHUT的博客-CSDN博客【WindowsServer2019】存储服务器的配置和管理——iSCSI的安装和配置(下)_win10搭建iscsi服务端_NOWSHUT的博客-CSDN博客......
  • 通过Powersehll命令查看Citrix策略配置
    #说明:"10.100.20.10"=DDC地址"会话设置"=策略名称"LocalFarmGpo"=驱动器名称-----------------------------------------------------------------------------------------------------------#导入CitrixGroupPolicy模块import-module"C:\Program......
  • DreamWeaver+WebDav(IIS)配置团队协作开发
    作者:fbysssbasicauthentication因为如果是远程,肯定不能使用windows集成。这时的用户,应该是服务器上自行建立分配的用户(控制面板->用户).  可以通过目录的"安全"来指定每个用户的访问权限. 在Dreamweaver中新建一个站点.设置站点名称/本地根文件夹;远程信息->访问,选WebDav,然......
  • log4j结合commons-logging配置总结
    作者fbysss关键字:loggingcommons-logging是一个通用的日志接口,commons-logging.jar包中自带了一个simplelog的实现log4j也实现了这个接口使用通用接口,方便在于如果更换实现的方式,只要修改一个配置项即可配置过程:commons-logging.properties必须放置在WEB-INF/classes/下面log4j.pro......
  • 通过远程管理或配置的智能网关
    在工业自动化系统中,PLC(可编程逻辑控制器)是一种常见的控制设备。通常情况下,PLC被用于监控、控制和调节生产过程中的各种设备和机器。而PLC一旦出现故障,就会影响到下控设备的工作状态,进而影响整个工厂的生产节奏,因此一旦出现故障就要快速维护以恢复生产,保证订单顺利交付。在实际项目......
  • SpringBoot 读取配置文件
    在resources文件下创建新的配置文件,如test.yml:es:name:elasticsearch准备使用@PropertySource注解来读取test.yml内容,但@PropertySource本身不支持yml文件,所以创建以下类:publicclassPropertySourceConfigextendsDefaultPropertySourceFactory{@Override......