×

logback设置文件大小

logback设置文件大小(logback filebeat)

admin admin 发表于2023-04-04 23:25:11 浏览56 评论0

抢沙发发表评论

本文目录一览:

logback的日志文件,默认是存放到什么位置

logback类似于log日志体系,可以将一些日志信息输出到tomcat文件夹内,示例如下:

logback.xml里面的内容配置:

?xml version="1.0" encoding="UTF-8"?

!-- 文件输出日志 (文件大小策略进行文件输出,超过指定大小对文件备份) --

appender name="logfile"

class="ch.qos.logback.core.rolling.RollingFileAppender"

EncodingUTF-8/Encoding

rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"

File${logbase}%d{-MM-dd}.log.html/File

FileNamePattern${logbase}.%d{-MM-dd}.log.html.zip/FileNamePattern

/rollingPolicy

使用的时候可以这样定义变量:Logger logger = LoggerFactory.getLogger(AdministratorController.class);

需要import两个内容:

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

设置好后,可以输出到文件中,也可以输出到输出框中。

SpringBoot日志logback配置

在前一个项目simple-boot-demo项目中配置日志相关。

SpringBoot日志依赖为: spring-boot-starter-logging ,不过对于web项目,已经引入了 spring-boot-starter-web ,默认已经自带了日志的 spring-boot-starter-logging ,已经默认引入了 logback 实现,只需要配置application.yml即可。-logback设置文件大小

Spring内部使用 Commons Logging ,SpringBoot项目日志实现可以用log4j2,logback,JDK (Java Util Logging)等。

参考文档:

level是个map,配置不同的日志名称的级别,一般情况下都是配置些包名称就可以了,因为一般都是用类名作为日志名称,常见写法如下:

默认配置下只会在控制台输出日志,没有文件日志,可以配置文件名来控制文件输出。

日志文件配置:

日志配置示例:

另外一些文件日志配置如下,主要配置文件大小分隔、历史记录、输出格式等,这些配置在IDE中都有提示输入:

注意:这些配置在使用自定义的配置文件 logging.config=classpath:logback-spring.xml 时,如果include引入sping-boot项目中的logback配置xml片段,这些application.yml中的配置也是有效的,而且level配置还是优先于配置文件 -logback设置文件大小

日志可以分组配置,针对部分日志名称定义一个分组,可以统一配置此分组的级别:

SpringBoot内置的日志分组:

SpringBoot如果要使用自定义的logback作为日志实现,需要编写logback.xml,但是引入logback之后,logback会自动查找logback.xml,因此不能把名字定义为logback.xml,否则可能早于SpringBoot初始化,造成一些配置无效问题。-logback设置文件大小

使用 logback-spring.xml 或者使用 loging.config 来指定配置文件(默认名字为 logback-spring.xml 的文件springboot会自动获取到,自定义名字需要手动配置):-logback设置文件大小

在spring-boot项目的jar包中,spring为了简化配置,已经在项目中内置了一些logback的配置片段,方便使用include方式引入,打开可以看到内容是用 included/include 包裹,因此自定义配置文件 logback.xml 的时候直接include即可。-logback设置文件大小

配置片段路径: org/springframework/boot/logging/logback/

典型 logback.xml 配置文件如下,其中引用了spring-boot提供的xml片段:

上面的配置是文件取名为 demo-logback.xml ,方便引入。

配置application.yml:

spring-boot中logback日志配置

spring-boot为我们提供了非常多的组件,也让其使用起来越来越灵活易用。最近在优化程序日志输出部分,发现spring-boot在1.x中日志的配置还不够完善,所以不得不引用外部logback配置文件来代替原始的配置。方式是在spring-boot的参数配置中指定外部logback配置文件-logback设置文件大小

我们可以在spring-boot.1.5.x.jar中找到包路劲com.springframework.boot.logging.logback下四个关键的xml配置文件base.xml、console-appender.xml、file-appender.xml、default.xml,将他们组装后可以得到一个完整的logback的xml配置文件-logback设置文件大小

从上面的完整配置中我们可以看到1.5.x版本中logback的详细,这里有三个不足之处

这就是为什么我要采用外部xml的方式配置logback的主要原因。其实logback原生支持这些特性的配置,只不过spring-boot没有为我们保留在从application.properties(application.yml)文件中设置的入口。-logback设置文件大小

截止目前spring-boot最新版本刚刚发布了2.0.0RC1,但是官方已经提供了更多的logback外部配置支持。同样的方式我们将base.xml、console-appender.xml、file-appender.xml、default.xml组装成完完整的logback的xml配置文件-logback设置文件大小

可以看到2.0.0版本后在file-appender.xml文件中logback增加了LOG_FILE_MAX_SIZE和LOG_FILE_MAX_HISTORY两个参数配置,同时fileNamePattern标签中的日志分片支持带上日期后进行gz方式压缩。而且都支持外部配置文件中进行配置(配置问夹中参数名与xml中并不相同),例如-logback设置文件大小

如果我们还想修改其他地方也可以根据spring-boot提供的logging.开始的参数名进行配置,详情可参考一篇 CSDN上的博客 ,这里不再赘述。

spring-boot-2.x版本后,我们几乎不需要再引用外部logback.xml或者logback-spring.xml文件来配置logback了。官方提供了绝大部分情况下的配置支持。