Logger, Appenders and Layouts
-Logger:日志分类和级别
-Appenders:日志输出的目的地
-Layout:日志格式
Logger context
日志上下文,用于创建logger并且将它们组织成一棵层级树。
Logger 命名
大小写敏感,并且遵守层级结构规则。
虽然可以随意命名,但是强烈建议使用当前类全名。
root:日志的顶级,和java.lang.Object类似,名字为org.slf4j.Logger.ROOT_LOGGER_NAME。
Logger 级别
ALL, TRACE, DEBUG, INFO, WARN, ERROR, OFF
日志的级别由它自己开始沿着层级结构向上追溯第一个非空的level值。例如
root | DEBUG | DEBUG |
X | INFO | INFO |
X.Y | none | INFO |
X.Y.Z | ERROR | ERROR |
Logger 输出方法
决定了日志输出所要求的级别,仅当该级别>=Logger级别时才能被输出。
日志级别排序
ALL < TRACE < DEBUG < INFO < WARN < ERROR < OFF
Logger 唯一性
LoggerFactory.getLogger 方法将返回同一个logger对象如果logger名字一样。
Appenders & Layouts & Encoder
一个Logger对应对应多个Appender,也就是可以将同一个日志输出到多个不同的目的地。
与Logger级别不一致,一个Logger将输出到由它自己开始沿着层级结构向上追溯的所有Appenders中,除非将additivity标志设置为false。
root | A1 | not applicable | A1 | Since the root logger stands at the top of the logger hierarchy, the additivity flag does not apply to it. |
x | A-x1, A-x2 | true | A1, A-x1, A-x2 | Appenders of "x" and of root. |
x.y | none | true | A1, A-x1, A-x2 | Appenders of "x" and of root. |
x.y.z | A-xyz1 | true | A1, A-x1, A-x2, A-xyz1 | Appenders of "x.y.z", "x" and of root. |
security | A-sec | false | A-sec | No appender accumulation since the additivity flag is set to false . Only appender A-sec will be used. |
security.access | none | true | A-sec | Only appenders of "security" because the additivity flag in "security" is set to false . |
Layout用于控制日志输出格式
Encoder 0.9.19版本之后取代Layout,Layout只负责将日志转化为String,而Encoder 能控制输出的String的字符集
注:Layout & Encoder 只能属于一个 Appender
参数化日志输出
支持占位符{}格式化日志,2个一下的参数采用下列形式传递
logger.debug("The new entry is {}. It replaces {}.", entry, oldEntry);
3个以上的参数需使用数组传递
Object[] paramArray ={newVal, below, above}; logger.debug("Value {} was inserted between {} and {}.", paramArray);
日志输出的流程图
参考资料
http://logback.qos.ch/manual/architecture.html
相关推荐
logback的体系结构** Logback由三个主要组件构成:logback-core、logback-classic和logback-access。logback-core提供了基础架构,logback-classic实现了SLF4J API,而logback-access则与Servlet容器集成,处理HTTP...
文档提供了关于Logback配置与使用的详细介绍,帮助用户深入理解Logback的工作原理,包括其核心组件、体系结构、配置方法和日志排版等。 首先,文档对Logback进行了基本介绍,包括什么是Logback、怎样构建Logback...
接着,文档深入到了Logback的体系结构,讲解了Logger、Appender和Layout这三个核心组件。Logger是日志记录器,负责记录日志消息;Appender负责将日志消息输出到目的地;而Layout则负责格式化日志信息,使之能按照...
**Logback**的体系结构主要包括以下组件: - **Logger**:负责记录日志消息的对象。 - **Appender**:日志消息的输出目的地,例如控制台、文件等。 - **Layout**:定义了日志消息的格式。 - **Logger上下文**:每...
通过以上梳理,我们对 Logback 的核心概念、体系结构、配置方式、Appender、Encoder、Layout 以及 Filter 有了较为全面的理解。这不仅有助于开发者更有效地利用 Logback 进行日志管理,也为其后续的学习和应用打下了...
### Logback核心知识点详解 #### 一、Logback简介与组成部分 **Logback**是一款流行的Java平台的日志框架,由著名的开源项目log4j的...理解其体系结构、配置方法及关键组件的工作原理对于高效使用Logback至关重要。
本篇将深入讲解日志技术及其重要性,以Logback框架为例,探讨其体系结构和实际应用。 日志技术的概述: 日志在软件开发中扮演着“历史记录”的角色,它能够捕获程序运行过程中的错误、警告、调试信息等,为开发者...
软件体系结构大作业指导 软件体系结构是软件开发中非常重要的一部分,它关乎软件的整体架构、设计和实现。以下是软件体系结构大作业指导的相关知识点: 一、 软件体系结构的定义和分类 软件体系结构是指软件系统...
2.1. logback 的体系结构 ..................................................................................... 6 2.2. Logger、Appender 和 Layout ...........................................................
Apache Log4j 2是Log4j的升级版,对Log4j的前身Log4j 1.x进行了重大改进,并提供了Logback中可用的许多改进,同时解决了Logback体系结构中的一些固有问题。 在Github上拉取请求 通过发送拉取请求,您授予Apache ...
在Java开发领域,Spring、Spring MVC和MyBatis是三个非常重要的框架,它们共同构建了一个强大的企业级应用开发体系。Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,极大地...
在Java应用中集成syslog,不仅可以方便地将日志发送到syslog服务器,还可以与其他syslog工具(如Logstash、Splunk、Elasticsearch等)集成,构建强大的日志分析和监控体系。 压缩包文件名`kafka-connect-syslog-...
9. **日志和异常处理**:在SSM项目中,通常会引入Log4j、Logback或SLF4J等日志框架,用于记录系统运行时的信息。同时,统一的异常处理机制,如@ControllerAdvice和@ExceptionHandler,能够优雅地处理程序中可能出现...
《Spring Boot参考指南2018最新版》是Spring Boot技术体系的重要参考资料,它由官方发布,以英文原版呈现,旨在为开发者提供全面、权威的用户指南。Spring Boot是Java开发领域的一个热门框架,其核心特性是简化了...
该实用程序的概念和体系结构基于流行的Java日志记录实用程序,例如Log4j和slf4j / logback。 * Log4j [http://logging.apache.org/log4j] * Logback / SLF4J [http://logback.qos.ch/] [http://www.slf4j.org/]源...
这一体系结构提供了完整的控制反转(IoC)和面向切面编程(AOP)功能,结合了Spring的强大企业级功能、SpringMVC的Web层处理以及MyBatis的持久层操作,使得开发过程更加高效和灵活。 在SSM框架的配置文件中,主要...
- MongoDB:文档型数据库,可用于存储结构化和半结构化的日志数据。 6. **日志分析** - Kibana:可视化工具,配合Elasticsearch提供强大的日志查询和展示界面。 - Graylog:开源日志管理和分析平台,支持Elastic...
- 分离关注点:Spring MVC鼓励开发者遵循MVC模式,使代码结构清晰,易于测试和维护。 - 高度可扩展性:通过插件机制,可以轻松添加新的功能或自定义行为。 - 支持多种视图技术:除了JSP,还可以使用FreeMarker、...