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

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

并且会进行备份

你上线后调试程序

都得靠日志文件了

小结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/679134.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开源基于Rust编写的Web服务器

基于 RUST 的 WEB 资源服务器 Github 地址 LTPP-GIT 地址 官方文档 该项目于 2024 年 5 月 1 日开始开发 预期功能 功能支持情况当前情况多线程支持是是服务支持配置化是是防盗链支持是是gzip 支持是是反向代理支持是是自定义状态码对应资源文件是是日志支持是是负载均衡支…

【Python绘画】画笑脸简笔画

本文收录于 《一起学Python趣味编程》专栏,从零基础开始,分享一些Python编程知识,欢迎关注,谢谢! 文章目录 一、前言二、代码示例三、知识点梳理四、总结 一、前言 本文介绍如何使用Python的海龟画图工具turtle&#…

BUUCTF [XMAN2018排位赛]通行证 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 得到的 flag 请包上 flag{} 提交。来源:https://github.com/hebtuerror404/CTF_competition_warehouse_2018 密文: a2FuYmJyZ2doamx7emJfX19ffXZ0bGFsbg解题思路: 1、两个等号…

CentOS-内网搭建FTP-Server

一、镜像选择 1、 Centos-everting或者DVD 2、7.5 7.6 7.9 均可 二、安装步骤 1、其余步骤和普通安装一致。 2、最重要的一步为“软件选择” 1、勾选FTP、文件以及存储服务器、性能以及开发工具。 三、FTPServer搭建 1、关闭防火墙 systemctl stop firewalld or 通过21和20…

C/C++ 进阶(5)二叉平衡搜索树(AVL树)

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 目录 一、概念 二、平衡因子 三、操作 插入 旋转 左单旋 右单旋 左右双旋 右左双旋 一、概念 二叉平衡搜索树又称AVL树,是一种特殊的二叉搜索树。一般的二叉搜索树在遇到数据有序时&…

【MySQL】sql语句之库操作

序言 在上篇文章学习当中,我们认识了数据库的相关概念,以及MySQL的框架和基本使用等内容,总之对数据库有了一个大致的认识,那么本篇文章将开始关于sql语句的学习,本文主要是关于库的属性和操作的内容,简单可…

2024网络与信息安全管理员职工职业技能竞赛re0220164094

main部分,就是要逆这部分shellcode,程序把data段里面的东西复制到bss段去执行,期间包含解码操作。 v19 0;puts("Please input your flag: ");__isoc99_scanf("%s", s);if ( strlen(s) ! 38 ){puts("Wrong length!&…

yolov5模型结构与构建原理

一.yolov5模型结构与构建原理 修改模型结构,全部在models文件夹下面 models/common.py (加入新增网络细节) models/yolo.py (设定网络结构传参细节) models/##.yaml (修改模型结构配置文…

数字信号处理实验四:IIR数字滤波器设计及软件实现

一、实验目的 1. 掌握MATLAB中进行IIR模拟滤波器的设计的相关函数的应用; 2. 掌握MATLAB的工具箱中提供的常用IIR数字滤波器的设计函数的应用; 3.掌握MATLAB的工具箱中提供的模拟滤波器转数字滤波器的相关的设计函数的应用。 二、实验内容 本实验为…

s32k314【入门新手篇】-开发环境安装【ds32开发平台】

软件包下载 登录nxp官网下载:https://www.nxp.com/ 然后输入关键字:S32 查看 下载安装包 以上三步请先注册好并登录你的个人账号 下载完之后如下: 软件安装 eb安装并激活【试用版】 激活 2 安装ds 弹出什么就安装什么就好了。 …

算法设计与分析部分题目解释

目录 第1讲算法引论 作业1-1 1. (单选题, 5分)算法研究领域包括的三个主要方面为( A ) 2. (单选题, 5分)下面说法关于算法与问题的说法错误的是(B)。 3. (单选题, 5分)下面关于程序和算法的说法不正确的是(B)。 4. (单选题,…

[C#]使用OpenCvSharp图像滤波中值滤波均值滤波高通滤波双边滤波锐化滤波自定义滤波

在使用OpenCvSharp进行图像滤波处理时,各种滤波方法都有其特定的用途和效果。以下是对中值滤波、均值滤波、高通滤波、双边滤波、锐化滤波和自定义滤波的详细解释和归纳: 中值滤波(MedianBlur) 原理与作用:中值滤波是…

redis(17):什么是布隆过滤器?如何实现布隆过滤器?

1 布隆过滤器介绍 布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,用于判断一个元素是否在一个集合中。它基于位数组和多个哈希函数的原理,可以高效地进行元素的查询,而且占用的空间相对较小,如下图所示: 根据 key 值计算出它的存储位置,然后将此位置标…

springCloud中将redis共用到common模块

一、 springCloud作为公共模块搭建框架 springCloud 微服务模块中将redis作为公共模块进行的搭建结构图&#xff0c;如下&#xff1a; 二、redis 公共模块的搭建框架 如上架构&#xff0c;代码如下pom.xml 关键代码&#xff1a; <dependencies><!-- SpringBoot Boo…

Pycharm 添加内容根

解决问题&#xff1a;包未能被正常引入时

【WRF调试运行第一期】安装WRF模型所需平台

WRF实践实操第一期&#xff1a;安装WRF模型所需平台 1 操作系统2 先决条件软件3 程序流&#xff08;Program Flow&#xff09;4 文件说明软件安装1-Cygwin参考 安装 WRF&#xff08;Weather Research and Forecasting&#xff09;模型需要准备适当的硬件和软件平台。 相关介绍可…

【计算机毕设】基于SpringBoot的中小企业设备管理系统设计与实现 - 源码免费(私信领取)

免费领取源码 &#xff5c; 项目完整可运行 &#xff5c; v&#xff1a;chengn7890 诚招源码校园代理&#xff01; 1. 研究目的 在中小企业中&#xff0c;设备管理是确保生产和运营效率的重要环节。传统的设备管理通常依赖于手工记录和人工管理&#xff0c;容易导致数据不准确、…

全球首款AR电脑上线,可投影100英寸屏幕

近日&#xff0c;Sightful公司推出了一款名为Spacetop G1的革命性笔记本电脑&#xff0c;将AR技术与传统笔记本电脑巧妙融合&#xff0c;打造出令人惊叹的全新办公体验。 全球首款AR电脑上线&#xff0c;可投影100英寸屏幕 不同于传统笔记本电脑依赖物理屏幕显示内容&#xff0…

C#WPF数字大屏项目实战11--质量控制

1、区域划分 2、区域布局 3、视图模型 4、控件绑定 5、运行效果 走过路过&#xff0c;不要错过&#xff0c;欢迎点赞&#xff0c;收藏&#xff0c;转载&#xff0c;复制&#xff0c;抄袭&#xff0c;留言&#xff0c;动动你的金手指&#xff0c;财务自由

OJ题目【栈和队列】

题目导入 栈&#xff1a; 题目一&#xff1a;有效的括号题目二&#xff1a;用栈实现队列 队列 题目&#xff1a;实现循环队列 栈 题目一 有效的括号 题目要求 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘…