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

简介: 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实时生图绘板
目录
相关文章
|
11月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
311 2
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
2916 28
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
1489 56
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
559 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
513 1
【赵渝强老师】Oracle的控制文件与归档日志文件
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的运行日志文件
PostgreSQL的物理存储结构包括数据文件、日志文件等。运行日志默认未开启,需配置`postgresql.conf`文件中的相关参数如`log_destination`、`log_directory`等,以记录数据库状态、错误信息等。示例配置中启用了CSV格式日志,便于管理和分析。通过创建表操作,可查看生成的日志文件,了解具体日志内容。
647 3
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL的全量日志文件
MySQL全量日志记录所有操作的SQL语句,默认禁用。启用后,可通过`show variables like %general_log%检查状态,使用`set global general_log=ON`临时开启,执行查询并查看日志文件以追踪SQL执行详情。
444 4
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
1383 2
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
517 1
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?

热门文章

最新文章