1、logback介绍:基于Log4j基础上大量改良,不能单独使用,推荐配合日志框架SLF4J来使用
logback当前分成三个模块:logback-core,logback-classic和logback-access;
logback-core是其它两个模块的基础模块
2、Logback的核心对象:
Logger:日志记录器
Appender:指定日志输出的目的地,目的地可以是控制台,文件
Layout:日志布局 格式化日志信息的输出
Log4j日志转换为logback在线工具(支持log4j.properties转换为logback.xml,不支持 log4j.xml转换为logback.xml)
https://logback.qos.ch/translator/
SpringBoot默认加载logback日志文件的顺序logback-spring.xml logback.xml
配置文件结构:
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <root level="INFO"> <appender-ref ref="consoleApp"/> <appender-ref ref="fileInfoApp"/> <appender-ref ref="fileErrorApp"/> <appender name="consoleApp" class="ch.qos.logback.core.ConsoleAppender">....</appender> #滚动模式,可以每天生成一个文件 <appender name="fileInfoApp" class="ch.qos.logback.core.rolling.RollingFileAppender">....</appender> <appender name="fileErrorApp" class="ch.qos.logback.core.rolling.RollingFileAppender">....</appender> </configuration>
具体文件如下:
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <appender name="consoleApp" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern> %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n </pattern> </layout> </appender> <appender name="fileInfoApp" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>DENY</onMatch> <onMismatch>ACCEPT</onMismatch> </filter> <encoder> <pattern> %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n </pattern> </encoder> <!-- 滚动策略 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 路径 --> <fileNamePattern>app_log/log/app.info.%d.log</fileNamePattern> </rollingPolicy> </appender> <appender name="fileErrorApp" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <encoder> <pattern> %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n </pattern> </encoder> <!-- 设置滚动策略 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 路径 --> <fileNamePattern>app_log/log/app.err.%d.log</fileNamePattern> <!-- 控制保留的归档文件的最大数量,超出数量就删除旧文件,假设设置每个月滚动, 且<maxHistory> 是1,则只保存最近1个月的文件,删除之前的旧文件 --> <MaxHistory>1</MaxHistory> </rollingPolicy> </appender> <root level="INFO"> <appender-ref ref="consoleApp"/> <appender-ref ref="fileInfoApp"/> <appender-ref ref="fileErrorApp"/> </root> </configuration>
@RestController public class TestLogController { private Logger logger = LoggerFactory.getLogger(UserController.class); @RequestMapping("/log") public void showLog() { logger.error("this is a error log"); logger.warn("this is a warn log"); logger.info("this is a info log"); logger.debug("this is a debug log"); } }
根据上面配置文件的配置只打印INFO和以上级别的日志,DEBUG的日志不打印。
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
符合ERROR级别的日志拒绝,不符合ERROR的日志则打印。
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
打印ERROE以上级别的日志
相关推荐
springboot-logback日志文件配置
《整合Springboot、Mybatis-Plus、MongoDB、Druid与Logback的实战解析》 在现代企业级应用开发中,快速构建高效稳定的系统是关键。Spring Boot以其便捷的起步和丰富的生态,成为了首选的开发框架。本次我们将深入...
SpringBoot是一个流行的Java开发框架,它简化了Spring应用的创建和配置。Logback则是SpringBoot常用的日志处理库,它提供了高效且灵活的日志记录功能。本项目"SpringBoot-logback"正是关于如何在SpringBoot应用中...
Logback是SpringBoot推荐的日志框架,由log4j的作者开发,具有更高的性能和更丰富的配置选项。在SpringBoot中,我们可以使用Logback来实现灵活的日志管理。 首先,日志级别是控制日志输出的关键。Logback和log4j都...
包含logback所需:logback-classic-1.1.7.jar、logback-classic-1.1.7-sources.jar、logback-core-1.1.7.jar、logback-core-1.1.7-sources.jar、slf4j-api-1.7.21.jar、slf4j-api-1.7.21-sources.jar
Logback允许自定义日志级别、格式和输出目的地,帮助开发者调试和追踪系统运行状况。 Swagger则是一个用于设计、构建、记录和使用RESTful web服务的工具,通过Swagger UI,开发者可以直观地查看和测试API接口,提升...
每次日志输出到文件都会进行一次磁盘IO,在多应用的时候这种效果会导致一定的线程运行延迟,所以可以采用异步的方式处理。 采用异步写日志的方式,通过不让主线程去写日志文件而减少磁盘IO,避免并发下造成线程阻塞...
在日常工程开发中,日志是非常重要的一部分,通过日志可以迅速定位线上问题,日志框架也有很多选择,日志框架Logback和Log4j是同一个作者,Logback相比于Log4j,性能提高了10倍以上的性能,占用的内存也变小了,并且...
最新SpringBoot框架后台管理模板 本SpringBoot框架采用零xml配置,全部动态启动、支持热部署 框架结构清晰明了! 框架管理:maven 框架: 1.核心框架---------Spring-boot 2.数据源框架-------mybatis、HikariCP...
本文将介绍如何利用Spring Boot和Logback来实现一个简单的链路追踪功能,以便更好地跟踪用户在系统中的操作。 链路追踪(Traceability)是指在分布式系统中跟踪单个请求从开始到结束的完整路径,这对于理解服务间的...
6. 日志管理:SpringBoot内置了Logback和Log4j2的日志处理,开发者可以根据需求选择合适的日志框架。 四、开源项目"springboot-guide-master"解析 该项目包含了一系列示例代码,涵盖了上述集成技术的具体应用。通过...
SpringBoot-Shiro系统通常会集成一个日志框架(如Log4j、Logback),并在Shiro的拦截器中记录用户的登录、退出、权限异常等事件。 7. **前端Bootstrap UI** 前端界面采用Bootstrap框架,它提供了丰富的响应式布局...
2. **设置日志框架**:选择Logback或Log4j2作为日志框架,并配置其输出格式,以便Logstash可以解析。 3. **安装Logstash**:在服务器上部署Logstash,配置输入插件(如beats或syslog)以接收Spring Boot应用的日志...
《Dubbo与SpringBoot整合应用实战》 在现代企业级应用开发中,微服务架构逐渐成为主流,而Dubbo和SpringBoot作为两个重要的组件,分别在服务治理和服务启动方面发挥着重要作用。本教程将深入探讨如何将Dubbo与...
8. **日志系统**:SpringBoot默认集成了Logback作为日志系统,且提供了一些简单的日志级别配置。 综上所述,"springboot-helloworld.rar"是一个典型的SpringBoot入门示例,涵盖了从项目初始化、编写简单控制器到...
Spring Boot 提供了多种日志记录工具,包括 Logback、Log4J2 和 Java Util Logging。默认情况下,Spring Boot 使用 Logback 作为日志记录工具。在日志记录过程中,我们可以通过配置日志级别、输出目标和格式来控制...
本文将深入探讨如何配置SpringBoot的Logback以满足不同日志需求。 首先,我们来看`logback-spring.xml`这个文件。它是Logback的日志配置文件,通过XML格式定义了日志的级别、输出位置、格式等。Spring Boot推荐使用...
日志管理在任何应用程序中都是至关重要的,logback则是Java社区广泛使用的日志框架之一。它提供了高效的日志记录功能,并且与SLF4J(Simple Logging Facade for Java)接口兼容,使得更换日志实现变得简单。为了在...
在SpringBoot中,我们可以利用Logback或Log4j2等日志框架,配合自定义的日志配置,实现详细的日志记录和格式定制,便于调试和后期分析。日志信息包括请求参数、执行时间、异常堆栈等,有助于追踪系统运行状态。 ...