logback日志maxHistory配置到底怎么区分月滚动还是日滚动,网上的好多例子说是月滚动,给的是日滚动例子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logback日志maxHistory配置到底怎么区分月滚动还是日滚动,网上的好多例子说是月滚动,给的是日滚动例子相关的知识,希望对你有一定的参考价值。
呵呵,这个是日滚动的。。。区分的话就要看更新了,滚动可以理解为更新时间。。。。如果一天更一次,那就是日滚动。来自:求助得到的回答 参考技术A 有时间的话,花点时间仔细看官方文档对于logback的以时间滚动归档方式而言,按日打包还是按月打包,是根据<fileNamePattern>的内容决定的
如果你把名字指定到日,如<fileNamePattern>log-%dyyyy-MM-dd.gz</fileNamePattern>就是按日的
如果指定到月,如<fileNamePattern>log-%dyyyy-MM.gz</fileNamePattern>就是按月的 参考技术B 1
SpringBoot日志logback配置
参考技术A在前一个项目simple-boot-demo项目中配置日志相关。
SpringBoot日志依赖为: spring-boot-starter-logging ,不过对于web项目,已经引入了 spring-boot-starter-web ,默认已经自带了日志的 spring-boot-starter-logging ,已经默认引入了 logback 实现,只需要配置application.yml即可。
Spring内部使用 Commons Logging ,SpringBoot项目日志实现可以用log4j2,logback,JDK (Java Util Logging)等。
参考文档:
https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/howto.html#howto-logging
https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/spring-boot-features.html#boot-features-logging
level是个map,配置不同的日志名称的级别,一般情况下都是配置些包名称就可以了,因为一般都是用类名作为日志名称,常见写法如下:
默认配置下只会在控制台输出日志,没有文件日志,可以配置文件名来控制文件输出。
日志文件配置:
日志配置示例:
另外一些文件日志配置如下,主要配置文件大小分隔、历史记录、输出格式等,这些配置在IDE中都有提示输入:
注意:这些配置在使用自定义的配置文件 logging.config=classpath:logback-spring.xml 时,如果include引入sping-boot项目中的logback配置xml片段,这些application.yml中的配置也是有效的,而且level配置还是优先于配置文件
日志可以分组配置,针对部分日志名称定义一个分组,可以统一配置此分组的级别:
SpringBoot内置的日志分组:
SpringBoot如果要使用自定义的logback作为日志实现,需要编写logback.xml,但是引入logback之后,logback会自动查找logback.xml,因此不能把名字定义为logback.xml,否则可能早于SpringBoot初始化,造成一些配置无效问题。
使用 logback-spring.xml 或者使用 loging.config 来指定配置文件(默认名字为 logback-spring.xml 的文件springboot会自动获取到,自定义名字需要手动配置):
在spring-boot项目的jar包中,spring为了简化配置,已经在项目中内置了一些logback的配置片段,方便使用include方式引入,打开可以看到内容是用 <included></include> 包裹,因此自定义配置文件 logback.xml 的时候直接include即可。
配置片段路径: org/springframework/boot/logging/logback/
典型 logback.xml 配置文件如下,其中引用了spring-boot提供的xml片段:
上面的配置是文件取名为 demo-logback.xml ,方便引入。
配置application.yml:
以上是关于logback日志maxHistory配置到底怎么区分月滚动还是日滚动,网上的好多例子说是月滚动,给的是日滚动例子的主要内容,如果未能解决你的问题,请参考以下文章