当前位置: 首页 > news >正文

Spring-boot-logback-spring.xml文件Appender标签下的属性

在logback-spring.xml文件中,标签是通过set方法设置的值,例如下面的代码,属性hrName的值为TYC,当服务启动的时候,控制台会一直打印TYC三个字母

首先,我们自定义一个Appender,然后里面有一个属性叫hrName

public class TestAppender extends AppenderBase<ILoggingEvent> {private String hrName;@Overrideprotected void append(ILoggingEvent eventObject) {System.out.println(hrName);}// 这里设置一个java bean的set方法public void setHrName(String hrName) {this.hrName = hrName;}
}

然后去logback-spring.xml文件配置一些值,如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!--很明显,聪明的你已经发现这个hrName标签就是我们上述类中自己定义的属性了--><appender name="hehe" class="com.example.demo.TestAppender"><hrName>TYC</hrName></appender><root level="info"><appender-ref ref="hehe" /></root>
</configuration>

启动服务,会发现无论打印什么日志,控制台都会输出TYC三个字母

本文就到这里结束了,主要是想说: appender这个标签下的子标签,其实就是appender对应的那个类里面的属性,如果你不了解这一点,那么下面的代码刚看起来会很晦涩,这段代码是我从网上复制过来的,虽然他充满了注释,但是如果我们的逻辑思维没有转换到标签既是字段这个概念上,那么看起来还是很乱的

<!-- 日志记录器,日期滚动记录 --><appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 正在记录的日志文件的路径及文件名 --><file>${LOG_PATH}/error/log_error.log</file><!-- 日志记录器的滚动策略,按日期,按大小记录 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --><fileNamePattern>${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern><!-- 表示只保留最近30天的日志,以防止日志填满整个磁盘空间。--><maxHistory>30</maxHistory><!--用来指定日志文件的上限大小,例如设置为1GB的话,那么到了这个值,就会删除旧的日志。--><totalSizeCap>1GB</totalSizeCap><!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始,命名日志文件,例如log-error-2013-12-21.0.log --><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>2MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><!-- 追加方式记录日志 --><append>true</append><!-- 日志文件的格式 --><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern><charset>utf-8</charset></encoder><!-- 此日志文件只记录error级别的 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>error</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender>

相关文章:

  • 英码科技携手昇腾打造“三位一体”智慧化工解决方案,使能化工产业管理更高效、智能
  • C# Winform 侧边栏,切换不同页面
  • 用python实现多文件多文本替换功能
  • 【算法与设计】期末总结
  • 国际荐酒师香港协会受邀参加2024年美国独立日庆祝活动
  • 【进阶篇-Day3:JAVA接口新特性、代码块、内部类、Lambda表达式、组件等的介绍】
  • 在微信小程序中安装和使用vant框架
  • 【靶场搭建】-01- 在kali上搭建DVWA靶机
  • Spring Cloud Gateway 概述与基本配置(下)
  • 玄机平台流量特征分析-常见攻击事
  • 卡本医疗VENUS登陆香港国际医疗展,探索全球医疗发展新机遇
  • 统计学一(术语,正态)
  • 【前端面经】数组算法题解
  • 制造业为什么需要ERP企业管理软件?
  • 我用chatgpt写了一款程序
  • 自己简单写的 事件订阅机制
  • codis proxy处理流程
  • CSS盒模型深入
  • exports和module.exports
  • Java 内存分配及垃圾回收机制初探
  • JAVA 学习IO流
  • JAVA_NIO系列——Channel和Buffer详解
  • Laravel 实践之路: 数据库迁移与数据填充
  • React的组件模式
  • SAP云平台里Global Account和Sub Account的关系
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 从0到1:PostCSS 插件开发最佳实践
  • 前端代码风格自动化系列(二)之Commitlint
  • 手机端车牌号码键盘的vue组件
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 推荐一个React的管理后台框架
  • 详解NodeJs流之一
  • Java数据解析之JSON
  • ​flutter 代码混淆
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #pragma预处理命令
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (1)Android开发优化---------UI优化
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (C语言)共用体union的用法举例
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (一)WLAN定义和基本架构转
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)重识new
  • (自用)交互协议设计——protobuf序列化
  • *算法训练(leetcode)第三十九天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • .form文件_SSM框架文件上传篇
  • .NET C# 操作Neo4j图数据库
  • .NET C# 使用GDAL读取FileGDB要素类
  • .NET CORE 第一节 创建基本的 asp.net core