Spring运维之boot项目开发关键之日志操作以及用文件记录日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Spring运维之boot项目开发关键之日志操作以及用文件记录日志

日志基础

日志

在企业级开发中还是比较重要的

我们来写一个日志

@RestController
@RequestMapping("/books")
public class Controller {
 
    //创建记录日志的对象
    private static final Logger log= LoggerFactory.getLogger(Controller.class);
 
    @GetMapping
    public String getById(){
        System.out.println("Springboot is running");
 
        log.debug("");//调试
        log.info("");//运行
        log.error("");//报错
        log.warn("");//警告
 
        return  "Springboot is runnning";
    }
 
}

我们今后开发都是把写信息到日志里面

而很少采用直接打印输出在控制台的方式

fatal 记录崩溃级别的日志

看不到debug的信息

调试级别

因为debug的级别太低

我们可以开下来

第一种方式

第二种方式

不推荐开下来

因为调成debug级别都是上线后程序员进行调试才会开下来的

我们在以后经常用的一种方式是什么呢?

设置当前根目录下所有日志级别为debug

logging:
  level:
    root: debug

这样打印的日志信息就是DEBUG调试级别的

小结

我们会声明一个记日志的对象

我们也可以设置指定包的日志级别

我们可以设置分组

对某个组设置日志,设置日志级别

我们以后开发大部分用分组来固定日志

创建日志对象

书写BaseClass类

package com.bigdata1421.config.controller;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
public class BaseClass {
    private Class clazz  ;
    public static Logger log;
    public BaseClass() {
        clazz=this.getClass();
        log=LoggerFactory.getLogger(clazz);
    }
 
}

放在同级目录下

我们可以在子类中使用lombok的注解去实现

去掉注释

我们就不用写BaseClass类了

简化开发

利用lombok提供的注解简化开发 减少日志对象的声明操作

减少日志对象的声明操作

去掉了注解

日志输出格式控制

然而我们也可以控制日志的输出格式

设置日志模版格式

这些操作以后我们在公司中都不会去用

但是如果以后我们做了领头人

就可以让下面的员工都去这样去做

这边写了一个模版

#设置日志模版格式
pattern:
  console: "%d %clr(%5p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"

天下公司一大抄

你抄我我抄你

文件记录日志

我们已经可以控制日志了

接下来我们可以输出打印日志

改天运维问你日志去哪里了

你总不能说日志去了 控制台

然后关掉了

我们要把日志写入文档保存到本地

我们要把日志写入文档保存到本地

我们要把日志写入文档保存到本地

在配置中这样书写就能保存日志

在主文件夹下就能查看到日志文件

我们可以添加其他配置属性设置其他的信息

比如说一天更新一次日志

控制日志的体积

设置最大日志文件的存储大小

logging:
  level:
    root: info
  file:
    name: server.log
  logback:
    rollingpolicy:
      max-file-size: 4KB
      file-name-pattern: server.%d{yyyy.MM.dd}.%i.log

这样打印日志就有日期显示

并且会进行备份

你上线后调试程序

都得靠日志文件了

小结

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
21天前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
54 2
|
2月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
239 1
日志收集和Spring 微服务监控的最佳实践
|
2月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
439 4
|
8月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
1962 1
|
8月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
920 0
|
8月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
729 0
|
8月前
|
Java API 开发者
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——slf4j 介绍
在软件开发中,`System.out.println()`常被用于打印信息,但大量使用会增加资源消耗。实际项目推荐使用slf4j结合logback输出日志,效率更高。Slf4j(Simple Logging Facade for Java)是一个日志门面,允许开发者通过统一方式记录日志,无需关心具体日志系统。它支持灵活切换日志实现(如log4j或logback),且具备简洁占位符和日志级别判断等优势。阿里巴巴《Java开发手册》强制要求使用slf4j,以保证日志处理方式的统一性和维护性。使用时只需通过`LoggerFactory`创建日志实例即可。
582 0
|
4月前
|
机器学习/深度学习 XML Java
【spring boot logback】日志logback格式解析
在 Spring Boot 中,Logback 是默认的日志框架,它支持灵活的日志格式配置。通过配置 logback.xml 文件,可以定义日志的输出格式、日志级别、日志文件路径等。
657 5
|
10月前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
2391 17
Spring Boot 两种部署到服务器的方式
|
9月前
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
1048 28