Logback is intended as a successor to the popular log4j project, . Logback's architecture is sufficiently generic so as to apply under different circumstances. At present time, logback is divided into three modules, logback-core, logback-classic and logback-access.
The logback-core module lays the groundwork for the other two modules. The logback-classic module can be assimilated to a significantly improved version of log4j. Moreover, logback-classic natively implements the so that you can readily switch back and forth between logback and other logging frameworks such as log4j or java.util.logging (JUL). -- 摘自官网
翻译: Logback旨在作为流行的log4j项目的继任者. Logback 的体系结构足够通用,适用于不同的环境。目前,logback分为三个模块,logback-core,logback-classic和logback-access。logback-core模块为其他两个模块奠定了基础。logback-classic模块可以被认为log4j的改进版本。此外,logback-classic本身实现了因此您可以随时在logback和其他日志框架之间来回切换。
前言
Spring Boot在所有内部日志中使用 Commons Logging,但是默认配置也提供了对常用日志的支持,如: Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。
默认日志 Logback
SLF4J——Simple Logging Facade For Java,它是一个针对于各类Java日志框架的统一Facade抽象。Java日志框架众多——常用的有java.util.logging, log4j, logback,commons-logging, Spring框架使用的是Jakarta Commons Logging API (JCL)。而SLF4J定义了统一的日志抽象接口,而真正的日志实现则是在运行时决定的——它提供了各类日志框架的binding。
Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境,同时天然支持SLF4J。
默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了。
常用的配置
因为 SpringBoot 默认使用Logback作为日志框架, 所以不需要添加额外的依赖包.
直接配置即可. 我的常用配置如下: logback-boot.xml%d %p (%file:%line\)- %m%n UTF-8 log/manager_sys.log log/manager_sys.%d.%i.log 30 10MB %d %p (%file:%line\)- %m%n UTF-8
在application.yml指定logback的路径
server: port: 8088 tomcat: uri-encoding: UTF-8spring: http: encoding: force: true charset: UTF-8 enabled: truelogging: config: classpath:logback-boot.xml
最终效果是按每天/文件大小切割日志, 入下图所示:
![1032208-20180608225240801-526135273.png](https://images2018.cnblogs.com/blog/1032208/201806/1032208-20180608225240801-526135273.png)