`

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 记录器级别的继承-如果为记录器分配了级别,它将覆盖其祖先的级别。 如果未为记录器分配级别,则它将继承其层次结构中的第一个非空级别。 记录器...

    并发编程.pdf笔记

    SLF4J(Simple Logging Facade for Java)是一个日志门面,允许开发者选择不同的日志实现,如Logback。配置文件`logback.xml`用于定义日志输出格式和级别。 7. **最佳实践**:为线程命名、使用Lombok简化Java Bean...

    Java基础最全笔记文档

    Java基础笔记分为 Java基础篇 和 Java加强篇 Java基础篇包括: 1. Java环境搭建、Java快速入门、IDEA开发工具 2. Java基础语法、类型转换、运算符、Scanner 3. 分支结构、循环结构、随机数 4. 数组详解、Debug工具...

    日志技术笔记总结.pdf

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

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

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

    课程笔记1

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

    笔记30-JAVAEE之SpringBoot的日志

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

    SpringBoot学习笔记.docx

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

    hibernate学习笔记

    1. 日志配置:通过log4j或logback配置日志输出,便于跟踪程序运行状态。 2. SQL 输出:启用Hibernate的SQL日志,便于查看生成的SQL语句,优化查询性能。 3. 调试模式:在开发阶段,启用Hibernate的调试模式,可以...

    技术笔记(第二部分整理)

    HTML5、CSS3、JavaScript、jQuery、Vue、Axios、Echars、Servlet、JSP、JSTL、EL、SpringMVC、Druid、Redis、MD5、Logback、Poi、FileUpload、Transaction

    谷歌师兄的leetcode刷题笔记-mds:“现代化”的DSpace

    谷歌师兄的leetcode刷题笔记mds - 现代化的 DSpace Repo 包含经过重构以实现多个目标的 DSpace 代码: 消除无关和过时的依赖关系 使用当前最先进的技术更新或替换库、框架、编程习惯用法等 通过更严格地分离代码包中...

    springboot笔记【概念,核心配置,源码包,第三方包】

    4. **日志配置**:支持多种日志系统,如 Logback 和 Log4j2,通过 `logging.*` 属性控制日志级别、输出位置等。 5. **Spring MVC 配置**:如视图解析器、静态资源处理等(spring.mvc.*)。 【源码包结构】 ...

    Spring Boot教程.pdf

    Spring Boot 支持多种日志框架,如 Logback、Log4j 等。 在日志处理中,我们可以使用 @Slf4j 注解来标注日志类,并使用 logger 对象来记录日志信息。同时,我们也可以使用日志配置文件来配置日志的输出格式和级别...

    springboot demo 合集(如何没有积分可以私信)

    Spring Boot干货系列,分享学习中整理的一些笔记和源码 博文对应源码 Spring boot干货系列:(一)优雅的入门篇:chapter1 Spring Boot干货系列:(二)配置文件解析:chapter2 Spring Boot干货系列:(三)启动原理...

    happybike:仿共享单车后台原始码和笔记-后台

    单车后台系统 ...技术栈: SpringBoot SpringMVC Mybatis(基础框架)Mysql springSecurity(权限验证和请求拦截) AES对称加密数据,RSA非对称加密...其他:logback,lombok,fastjson,一系列异常和高替代状态类封装

    sbt.g8:我用作 Scala 项目起点的giter8 模板

    Routing appsg8 mhamrah/sbt -b spray#And for Spark Appsg8 mhamrah/sbt -b spark笔记Go风格的目录布局合并的 build.sbt 文件:包括 akka、scalatest、logback、typesafe config 和 slick。 使用环境变量(包括回退...

    spring-boot-extended-logging-properties:在日志记录配置中提供对Spring环境属性的访问

    spring-boot-extended-logging-properties 使Spring环境配置中的属性在日志记录配置中可用 如何使用 玛文 <groupId>eu.hinsch <artifactId>spring-boot-...在logback.xml中 ${some.key} 笔记 从版本1.3(>

    depLoader:从Maven Central下载工件,打包为zip

    例如,添加了“ logstash-logback-encoder”。 运行./gradlew clean build。 成功构建后,运行Main.main() 利润! 项目根目录中有“ toNexus.zip”,其中包含您需要加载到自己的nexus存储库中的所有工件。 ...

    尚gg大数据项目实战电商数仓系统开发教程.txt

    01_数仓项目介绍.avi4 b4 Q* Q8 Z0 Y) C6 O! w 02_数仓采集_用户行为采集课程介绍.avi8 \7 f3 O. c- {: v# W& V$ Y& b 03_数仓采集_数仓的概念.avi8 Z# X* q/ c; }3 A* [ T ...源码笔记资料.rar0 W

Global site tag (gtag.js) - Google Analytics