Spring Boot 之日志管理
Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。
格式化日志
默认的日志输出如下:
输出内容元素具体如下:
1. 时间日期 — 精确到毫秒
2. 日志级别 — ERROR, WARN, INFO, DEBUG or TRACE
3. 进程ID
4. 分隔符 — --- 标识实际日志的开始
5. 线程名 — 方括号括起来(可能会截断控制台输出)
6. Logger名 — 通常使用源代码的类名
7. 日志内容
控制台输出
在Spring Boot中默认配置了ERROR、WARN和INFO级别的日志输出到控制台。
我们可以通过两种方式切换至DEBUG级别:
1. 在运行命令后加入--debug标志,如:$ java -jar myapp.jar --debug
2. 在application.properties中配置debug=true,该属性置为true的时候,核心Logger(包含嵌入式容器、hibernate、spring)会输出更多内容,但是你自己应用的日志并不会输出为DEBUG级别。
多彩输出
如果你的终端支持ANSI,设置彩色输出会让日志更具可读性。通过在application.properties中设置spring.output.ansi.enabled参数来支持。
1. NEVER:禁用ANSI-colored输出(默认项)
2. DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项)
3. ALWAYS:总是使用ANSI-colored格式输出,若终端不支持的时候,会有很多干扰信息,不推荐使用
文件输出
Spring Boot默认配置只会输出到控制台,并不会记录到文件中,但是我们通常生产环境使用时都需要以文件方式记录。
若要增加文件输出,需要在application.properties中配置logging.file或logging.path属性。
1. logging.file,设置文件,可以是绝对路径,也可以是相对路径。如:logging.file=my.log
2. logging.path,设置目录,会在该目录下创建spring.log文件,并写入日志内容,如:logging.path=/var/log
日志文件会在10Mb大小的时候被截断,产生新的日志文件,默认级别为:ERROR、WARN、INFO
级别控制
在Spring Boot中只需要在application.properties中进行配置完成日志记录的级别控制。
配置格式:logging.level.*=LEVEL
1. logging.level:日志级别控制前缀,*为包名或Logger名
2. LEVEL:选项TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
举例:
1. logging.level.com.didispace=DEBUG:com.didispace包下所有class以DEBUG级别输出
2. logging.level.root=WARN:root日志以WARN级别输出
自定义日志配置
由于日志服务一般都在ApplicationContext创建前就初始化了,它并不是必须通过Spring的配置文件控制。因此通过系统属性和传统的Spring Boot外部配置文件依然可以很好的支持日志控制和管理。
根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:
1. Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
2. Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
3. Log4j2:log4j2-spring.xml, log4j2.xml
4. JDK (Java Util Logging):logging.properties
Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml)
自定义输出格式
在Spring Boot中可以通过在application.properties配置如下参数控制输出格式:
1. logging.pattern.console:定义输出到控制台的样式(不支持JDK Logger)
2. logging.pattern.file:定义输出到文件的样式(不支持JDK Logger)
参考:
http://blog.didispace.com/categories/Spring-Boot/page/2/
相关推荐
同时,Spring Boot与Spring Security的整合能帮助你快速实现应用的安全控制,如登录认证、权限管理。 实际项目部分,你可以通过代码学习Spring Boot如何应用于实际业务场景。这可能包括CRUD操作、用户管理、支付...
将文件添加到resource 目录下,然后启动spring boot,会有另一番体验
Spring Boot以其简洁的配置和快速的启动能力深受开发者喜爱,而Spring Batch作为Spring框架的一部分,专注于批量处理任务,提供了强大的数据处理能力和事务管理功能。下面我们将深入探讨这个主题。 首先,**Spring ...
Spring Boot Admin的用户界面是一个建立在Spring Boot Actuator端点上的Vue.js应用程序,这使得它能够方便地展示和管理Spring Boot应用的健康状态、日志、环境变量等信息。 在开始使用Spring Boot Admin之前,你...
《Spring Boot实战派》源码提供了丰富的学习材料,旨在帮助开发者深入理解并熟练掌握Spring Boot这一流行的Java后端开发框架。Spring Boot简化了Spring应用程序的初始设置和配置,使得开发人员能够快速构建可运行的...
标题中的“基于Spring Boot的后台管理系统”是一个使用Spring Boot框架构建的企业级应用示例,它提供了对后端业务逻辑的管理功能。Spring Boot是Spring框架的一个扩展,旨在简化新Spring应用的初始搭建以及开发过程...
《Spring Boot参考指南》是Spring Boot开发者的重要参考资料,它详细阐述了Spring Boot框架的核心特性、配置方式、自动配置原理以及如何构建微服务应用等关键知识点。Spring Boot是Java开发领域中一个极其流行的轻量...
最后,你将学习到如何监控和管理Spring Boot应用,例如使用Actuator提供的健康检查、指标收集、审计日志等功能。 总的来说,《Spring Boot 2 Cookbook 第二版》是一本全面而实用的参考书,无论你是初学者还是有经验...
【Spring Boot管理后台系统详解】 Spring Boot是一种基于Java的快速开发框架,旨在简化Spring应用程序的初始设置和常规配置。这个“spring boot管理系统后台”项目利用了Spring Boot的强大功能,为后台管理提供了一...
本课程内容包括Spring简介、Spring Boot简介、安装JDK、安装Maven、第一个Spring Boot程序(使用Spring Initializr构建、Spring Boot代码讲解、安装Notepad++)、构建系统、代码、配置、三种方式运行程序、安装...
5. **故障排查与日志分析**:提供关于如何调试和分析 Spring Boot 应用的技巧,以及日志管理和分析工具的使用。 6. **微服务治理**:讨论服务治理的相关概念,如熔断、限流、降级策略,以及 Spring Cloud Gateway ...
Spring Cloud是基于Spring Boot构建的一套微服务治理框架,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)操作...
6. **Actuator**:讲解如何使用Spring Boot Actuator进行应用监控,包括健康检查、指标收集、审计日志和端点安全。 7. **测试**:涵盖单元测试、集成测试的策略,以及Spring Boot提供的测试支持,如@Test标签和...
Spring Boot 默认使用 Logback 作为日志系统,同时支持 Log4j2。Actuator 提供了监控应用的端点,如 `/health`、`/metrics` 等。 总之,Spring Boot 以其简洁的配置、快速的开发体验,成为了现代 Java 开发中的热门...
基于Spring Boot和Elasticsearch的日志管理系统 项目简介 本项目是一个基于Spring Boot框架和Elasticsearch数据库的日志管理系统。它集成了ELK(Elasticsearch、Logstash、Kibana)技术栈,用于日志的收集、存储...
同时,Spring Boot对Actuator模块的介绍,将让读者了解到如何监控和管理运行中的应用,包括健康检查、指标收集、日志管理和端点安全控制。 微服务架构方面,Spring Boot提供了构建分布式系统的能力,如服务发现、...
5. **Actuator模块**:Spring Boot Actuator提供了丰富的监控和管理端点,帮助开发者了解应用的健康状况、日志、指标等。源码中,这些端点由`Endpoint`接口定义,可以通过HTTP、JMX等方式访问。 6. **条件注解**:...
基于Spring Boot的博客管理系统 欢迎使用基于Spring Boot的博客管理系统!本项目旨在提供一个功能齐全、易于扩展的博客平台,支持文章管理、分类、标签、用户管理等多种功能。 功能概览 核心功能 文章管理...
【标题】"后台管理源码spring boot版.rar" 指的是一个基于Spring Boot框架的后台管理系统源代码压缩包。Spring Boot是Java生态系统中的一个核心框架,它简化了创建独立的、生产级别的基于Spring的应用程序的过程。这...