`

Logback笔记

阅读更多
最近启动一个新项目,日志框架打算用Logback来做,取代log4j。所以简单了解了一下Logback,感觉有2点比较突出,首先是性能比较好,其次是配置更加灵活。Logback使用上和log4j很相近,以下总结一下Logback的要点

1. logback分为三个模块:Core、Classic和Access。Core模块是其他两个模块的基础。Classic模块扩展了core模块。Classic模块相当于log4j的显著改进版。Logback-classic直接实现了SLF4J API

2. 如果logger的名称带上一个点号后是另外一个logger的名称的前缀,那么,前者就被称为后者的祖先。如果logger与其后代logger之间没有其他祖先,那么,前者就被称为子logger之父

3. logger L的有效级别等于其层次等级里的第一个非null级别,顺序是从L开始,向上直至根logger

4. 用同一名字调用LoggerFactory.getLogger方法所得到的永远都是同一个logger对象的引用

5. logback可以以任何顺序创建和配置logger,即使父logger是在其后代初始化之后才初始化的,它仍将查找并链接到其后代们

6. Logback简化了logger命名,方法是在每个类里初始化logger,以类的全限定名作为logger名。这种定义logger的方法即有用又直观。可以随意命名logger。但目前已知最好的策略是以logger所在类的名字作为logger名称

7. 如果根logger有一个控制台appender,那么所有启用了的请求都至少会被打印到控制台。如果logger L有额外的文件appender,那么,L和L后代的所有启用了的请求都将同时打印到控制台和文件。设置logger的additivity为false,则可以取消这种默认的appender累积行为

8. Logback支持参数化输出语句
logger.debug("first is {}, second is {}, third is {}",
                new Object[]{new Date(), "userName", "password"});

仅当需要作记录时,logger才会格式化消息,替换"{}"。当记录语句被禁用时,不会产生参数构造所带来的性能消耗

9. 默认情况下,appender是可累积的:logger会把记录输出到它自身的appender和它所有祖先的appender。因此,把同一appender关联到多个logger会导致重复输出
分享到:
评论

相关推荐

    logback-test:一个入门项目,可使用LogBack日志记录框架快速入门

    笔记 logback中有5个日志级别:TRACE,DEBUG,INFO,WARN和ERROR 记录器级别的继承-如果为记录器分配了级别,它将覆盖其祖先的级别。 如果未为记录器分配级别,则它将继承其层次结构中的第一个非空级别。 记录器...

    Spring Boot核心技术-笔记-pdf版.7z

    它默认集成了Logback或Log4j2,我们可以通过配置文件调整日志级别和输出格式。 此外,健康检查和监控也是Spring Boot的重要功能。通过`/actuator`端点,我们可以获取应用的运行状态、内存信息、线程状态等,方便...

    云笔记项目

    4. 日志记录:集成日志框架如Log4j或Logback,记录应用程序运行时的信息,便于问题排查。 5. RESTful API设计:如果项目需要提供API接口,遵循REST原则设计URL和HTTP方法。 6. 前端界面:可以使用HTML、CSS和...

    基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip

    8. **异常处理与日志记录**:系统可能集成了Spring的异常处理机制,对可能出现的错误进行捕获和处理,同时使用Log4j或Logback等日志框架记录运行时信息,便于问题排查。 9. **性能优化**:为提高系统性能,开发者...

    基于ssm框架,java语言做的在线笔记网站.zip

    9. **日志记录**:日志记录是系统不可或缺的一部分,可以使用Log4j或Logback记录应用程序的运行状态,方便调试和问题追踪。 10. **异常处理**:合理地处理程序可能出现的异常,可以提高用户体验,比如使用@...

    日志技术笔记总结.pdf

    这篇日志技术笔记总结涵盖了从基础概念到具体框架的广泛内容。 首先,日志文件是系统事件和消息记录的集合,分为事件日志和消息日志。它们在软件开发和运维中起着关键作用,如故障诊断、问题追踪和系统行为分析。...

    SpringBoot2学习笔记.zip

    3. 日志管理:使用Logback或Log4j2作为日志系统,配置多级别的日志输出。 4. 微服务架构:SpringBoot适合构建微服务,利用Spring Cloud组件实现服务发现、熔断、配置中心等功能。 五、扩展与进阶 1. Spring Boot ...

    springboot412笔记记录分享网站--论文pf.zip

    9. **日志系统**:SpringBoot默认集成了Logback作为日志系统,也可以配置为使用其他日志框架如Log4j2。 10. **测试支持**:SpringBoot提供了便捷的测试工具和注解,如`@SpringBootTest`、`@WebMvcTest`等,简化了...

    【毕业设计】基于springboot的仿共享单车后台源码及笔记【源码+SQL脚本】.zip

    其他:logback,lombok,fastjson, 全局异常和高复用状态类封装、 利用mysql主键自增特性实现单车连续编号 学习这个项目的时候,对其思路做了笔记,我这里按照自己的写法,与其略有不同, 但是基本思路都是一样的...

    课程笔记1

    在本篇课程笔记中,我们将深入探讨Redis这一流行的数据存储系统,以及如何在SpringBoot应用中集成和管理Redis。首先,我们来看Redis的基本操作。 Redis是一个高性能的键值对数据库,常用于缓存、消息队列等场景。在...

    笔记本后端:笔记本系统后端

    6. **错误处理和日志记录**:为了追踪和调试问题,后端会包含错误处理策略和日志记录系统,如使用Logback或Log4j。 7. **集成测试和持续集成/持续部署(CI/CD)**:项目可能包含了JUnit或其他测试框架的测试用例,...

    Spring Boot核心技术-笔记-课件.zip

    7. **运行时日志和metrics**:Spring Boot内置了对常见日志框架的支持,如Logback、Log4j2,同时提供了metrics收集功能,便于对应用的运行状态进行监控。 8. **测试支持**:Spring Boot提供了方便的测试工具,如`@...

    SpringBoot学习笔记.docx

    SpringBoot 默认使用 Logback 作为日志系统,但可以通过修改 `pom.xml` 文件添加 Log4j2 的依赖来切换日志框架。添加依赖后,可以通过 `LoggerFactory.getLogger()` 获取日志实例,并使用 `info()` 等方法记录日志...

    Timlong-SpringBoot-实战开发笔记.zip

    - 日志系统,默认使用Logback,可调整日志级别,支持输出到控制台、文件等。 8. **集成测试** - 使用`@SpringBootTest`注解进行Spring Boot应用的集成测试,结合`@WebMvcTest`或`@DataJpaTest`进行特定模块测试。...

    自学java基础Xmind思维导图笔记

    【自学Java基础Xmind思维导图笔记】 在学习Java编程语言的过程中,建立良好的知识框架至关重要。这份"自学Java基础Xmind思维导图笔记"提供了一个系统化的学习路径,涵盖了Java开发的基本概念和技术,帮助初学者逐步...

    整合SSM(Spring+Spring+Mybatis)所有到的jar包和笔记

    常见的日志库有Log4j、SLF4J和Logback,对应的jar包也需要引入。 8. **测试支持**:为了进行单元测试和集成测试,我们需要引入`spring-test.jar`和`junit.jar`。 在整合过程中,我们还需要编写相应的配置文件(如`...

    笔记30-JAVAEE之SpringBoot的日志

    本笔记将探讨Spring Boot中的日志管理,特别是如何使用Slf4j进行日志记录,并简要介绍门面模式在系统架构中的应用。 1. **Spring Boot 日志框架:** Spring Boot默认集成了多种日志框架,如Logback、Log4j2等,但...

    Java Springboot入门自学笔记

    本入门自学笔记将带你一步步了解并掌握Spring Boot的核心概念和实践技巧。 ### 01 SpringBoot简介 #### 1.1 Spring Boot 的优势 - **简化的起步**:Spring Boot 提供了起步依赖(starter),可以通过添加相应的Maven...

Global site tag (gtag.js) - Google Analytics