SpringBoot整合LogBack一看就懂
2021-04-24 22:28
标签:conf size dfs 文件路径 连接 opened index classpath 依赖 SpringBoot环境为2.2.2.RELEASE。不用导入任何的依赖。yml文件不需要任何的配置。只用在 Classpath下创建一个logback.xml即可。如果需要自定义文件名或者文件位置,可以在yml中 配置 logging.config=classpath:logback.xml 在代码中使用以下代码获取一个Logger对象,Class参数为当前类对象,方便再日志中打印。 private final static Logger logger = LoggerFactory.getLogger(FileLogDemo1.class); logback的配置文件分为三部分。最外层是 第一部分 的方式引用value值。 第二部分 标签规定日志的输入目的地。name 属性为appender的bean名称,不可重复。class为输出模式。 输出模式分为输出到控制台,文件,或者db,或者网络流。一般的我们将日志输出到文件,控制台。 ConsoleAppender:将日志输出到控制台。 FileAppender:将日志输出到固定的文件。 RollingFileAppender:将日志输出到文件,以不固定的形式。每天生成日志之类的形式。 在标签内有固定必须有的标签 简单的ConsoleAppender模式只需要规定 一个标签 RollingFileAppender动态模式则有其特定的两种模式,在标签rollingPolicy>的class属性规定模式使用的类。 1 每天备份文件 TimeBasedRollingPolicy和SizeAndTimeBasedRollingPolicy模式规定了按照日期备份日志。其中 SizeAndTimeBasedRollingPolicy是TimeBasedRollingPolicy的子类。TimeBasedRollingPolicy的 则删除老的,在改模式下,每天固定产出一个文件,隔天则对改文件备份。而SizeAndTimeBasedRollingPolicy则是多了两个属性 文件的大小,如果超过规定大小,则产生备份文件。 如果超出则删除老的,在改模式下,每天可以产出多个文件,但多个文件总大小不能超过 2 固定的大小备份文件 FixedWindowRollingPolicy该模式不会按照日期备份,而是按照每个文件最大体积,如果超过则备份。 该模式有 但改值默认为20,也就是最多保留20个文件。若要修改改值,则需要自定义类,继承FixedWindowRollingPolicy 重写MAX_WINDOW_SIZE属性,重写getMaxWindowSize()方法。否则一旦超过20个备份文件则删除老的。 除此之外还需要一个triggeringPolicy>标签,改标签与 在 一般的我们会使用SizeAndTimeBasedRollingPolicy每天产生备份文件,并规定每个备份文件的大小。 第三部分 不向上级传递。在标签内有子标签,该标签的属性 ref为标签的name值。连接起来就是,logger 标签规定了哪些包需要被记录日志。以及记录什么级别的日志。将这个规则指定到一个做对应的输出。 向 对应的则也会打印该error日志。 除此之外,LogBack还可以向其他目标源输入日志。例如邮箱,数据库。通过继承体系图可以看出。 SpringBoot整合LogBack一看就懂 标签:conf size dfs 文件路径 连接 opened index classpath 依赖 原文地址:https://www.cnblogs.com/zumengjie/p/13256000.htmlxml version="1.0" encoding="UTF-8"?>
configuration>
property name="fixedFilePath" value="C:/Users/szwb295/Desktop/"/>
timestamp key="currentTime" datePattern="yyyyMMddHHmmsss"/>
property name="pattern" value="%d %p %X{request_uuid} [%t] [%c] - %m%n"/>
appender name="console" class="ch.qos.logback.core.ConsoleAppender">
encoder>
pattern>${pattern}pattern>
encoder>
appender>
appender name="fixedFile" class="ch.qos.logback.core.FileAppender">
file>${fixedFilePath}a.logfile>
encoder>
pattern>${pattern}pattern>
encoder>
appender>
appender name="timeBased" class="ch.qos.logback.core.rolling.RollingFileAppender">
file>C:\Users\szwb295\Desktop\currentLog2.logfile>
encoder>
pattern>${pattern}pattern>
encoder>
rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
fileNamePattern>${fixedFilePath}history.%d{yyyyMMdd}.logfileNamePattern>
maxHistory>3maxHistory>
rollingPolicy>
appender>
logger name="com.dfsn.cloud.consumer.filelog2" level="INFO" additivity="false">
appender-ref ref="timeBased"/>
logger>
appender name="sizeAndTimeBased" class="ch.qos.logback.core.rolling.RollingFileAppender">
file>C:\Users\szwb295\Desktop\currentLog3.logfile>
encoder>
pattern>${pattern}pattern>
encoder>
rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
fileNamePattern>${fixedFilePath}history.%d{yyyyMMdd}.%i.logfileNamePattern>
maxHistory>1maxHistory>
maxFileSize>50kbmaxFileSize>
totalSizeCap>200kbtotalSizeCap>
rollingPolicy>
appender>
logger name="com.dfsn.cloud.consumer.filelog3" level="INFO" additivity="false">
appender-ref ref="sizeAndTimeBased"/>
logger>
appender name="fixedWindow" class="ch.qos.logback.core.rolling.RollingFileAppender">
file>C:\Users\szwb295\Desktop\currentLog1.logfile>
encoder>
pattern>${pattern}pattern>
encoder>
rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
fileNamePattern>${fixedFilePath}history2.%d{yyyyMMdd}.%i.log.zipfileNamePattern>
minIndex>1minIndex>
maxIndex>3maxIndex>
rollingPolicy>
triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
maxFileSize>100kbmaxFileSize>
triggeringPolicy>
appender>
logger name="com.dfsn.cloud.consumer.filelog1" level="ERROR" additivity="false">
appender-ref ref="fixedWindow"/>
logger>
root level="DEBUG">
appender-ref ref="console"/>
appender-ref ref="fixedFile"/>
root>
configuration>
上一篇:Java集合/泛型面试题
文章标题:SpringBoot整合LogBack一看就懂
文章链接:http://soscw.com/index.php/essay/79134.html