毕业设计网站开发,免费微信h5页面制作,中文域名做的网站有哪些,广州平台网站建设日志是开发项目中非常重要的一个环节#xff0c;它是程序员在检查程序运行的手段之一。 1.日志的基础操作
1.1 日志的作用 编程期调试代码运营期记录信息#xff1a; * 记录日常运营重要信息(峰值流量、平均响应时长……) * 记录应用报错信息(错误堆栈) * 记录运维过程数据(… 日志是开发项目中非常重要的一个环节它是程序员在检查程序运行的手段之一。 1.日志的基础操作
1.1 日志的作用 编程期调试代码运营期记录信息 * 记录日常运营重要信息(峰值流量、平均响应时长……) * 记录应用报错信息(错误堆栈) * 记录运维过程数据(扩容、宕机、报警……) 1.2 日志级别 使用方式
2.快速开发日志对象
2.1 日志门面库
日志门面库是一种软件设计模式它为多种不同的日志记录框架提供一个统一的接口或抽象层。这种模式允许开发者使用一个通用的API来编写日志记录代码而不必直接依赖于任何特定的日志框架实现。 看到这里有很多人可能看不明白我们用人话讲一下日志记录框架就是我们经常用到的logback或者log4j各种类型的日志记录框架应用场景不同可能开发时候你用到的框架不满足线上的要求那你此时就需要更换日志记录框架而如果你使用了日志门面库此时你只需要如下操作 在开发阶段你可以选择一个日志实现如logback并通过添加相应的依赖和配置文件如logback.xml来配置它。切换日志实现如果你需要更换为另一个日志实现如log4j你只需做以下几步 移除当前日志实现logback的依赖和配置文件。添加新日志实现log4j的依赖和配置文件如log4j.properties或log4j.xml。无需修改代码中使用日志门面库API的任何部分。 2.2 日志实现
日志记录框架是用于记录和管理系统操作事件的软件组件。它们帮助开发者在程序运行时捕获、存储和分析日志信息这对于调试、监控和审计系统行为至关重要。以下是一些主流的日志记录框架及其特点他有如下实现 Logback由Log4j的原开发者之一主导开发是Spring Boot默认的日志框架轻量级且性能优秀功能全面。Log4j一个非常老牌的日志框架功能强大可以自定义日志级别、输出格式和目的地等。Log4j2Log4j的升级版性能和功能上都有所提升支持异步日志和插件机制。JULJava Util LoggingJava SE的默认日志框架功能相对基础但对于简单的日志需求来说足够用。 2.3 SLF4J
SLF4J是一个Java日志门面库它提供了一个简单而统一的API来记录日志同时允许最终用户在部署他们的应用程序时插入所需的日志框架。简而言之SLF4J定义了一个日志记录的接口然后通过桥接与其他具体的日志框架如logback、log4j等进行集成使得开发者可以在代码中使用SLF4J API而具体的日志实现则可以在部署时决定。 SLF4J的主要特点包括 简单性SLF4J提供了一个简单直观的API使得日志记录变得容易。解耦由于SLF4J是一个门面它允许开发者在不了解具体日志实现的情况下编写代码这使得代码与具体的日志框架解耦。灵活性开发者可以在运行时选择使用哪种日志系统例如logback、log4j、java.util.logging等。性能SLF4J的API设计注重性能特别是在参数较多的情况下它允许延迟参数计算直到日志级别真正启用时才计算参数值。兼容性SLF4J支持与多种日志框架的桥接这意味着你可以在项目中轻松切换不同的日志系统。线程安全SLF4J是线程安全的可以在多线程环境中使用。 使用SLF4J的基本步骤 添加依赖在项目的构建配置中添加SLF4J的依赖。配置日志系统选择并配置一个日志系统如logback或log4j。编写代码在代码中使用SLF4J提供的API来记录日志。运行和部署在部署时根据需要选择和配置具体的日志实现。 示例代码 在Controller层添加slf4j的注解lombok提供即可在相应的Controller方法中使用log.调用API 它由loggerFactory方法获取到 他有如下方法 3. 日志的信息
3.1 日志的格式
一个标准的springboot默认的日志格式输出信息如下 我们也可以自定义设置日志的输出格式例如可能有的人不想显示PID的信息只想知道时间级别和日志信息我们就可以手动调整。
logging:level:root: INFOorg.springframework.web: INFOorg.hibernate: WARNpattern:console: %d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n%throwable属性解释 logging.level: 配置日志级别。这里设置了根日志级别为INFO并为特定的包如org.springframework.web和org.hibernate设置了不同的日志级别。logging.pattern.console: 配置控制台日志输出格式格式可以包含 * %d{yyyy-MM-dd HH:mm:ss}日志时间戳 * %-5level日志级别INFO、DEBUG等宽度为5 * [%thread]线程名称 * %logger{36}日志记录器的名称通常是类的名称最多显示36个字符 * %msg日志消息 * %n换行 * %throwable异常堆栈 3.2 输出日志
在配置中我们可以添加file属性来设置输出日志的格式以及位置
logging:level:root: INFOorg.springframework.web: INFOorg.hibernate: WARNpattern:console: %d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n%throwablefile: %d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n%throwablefile:name: info.log # 设置日志输出文件路径 logging.pattern.file: 配置日志文件的输出格式使用相同的格式。logging.file.name: 配置日志文件输出路径可以指定一个文件名或完整路径。 那么这个文件在哪呢就在你的项目文件里面打开就能看到 我重启了几次项目看看记录的信息