首页 > 其他分享 >SpringBoot运维学习笔记

SpringBoot运维学习笔记

时间:2024-04-01 12:11:26浏览次数:27  
标签:... SpringBoot 运维 jar 笔记 debug 日志 com log

打包与运行

windows打包与运行

windows打包与运行,linux程序运行

服务启动失败:没有主清单属性【没有打包插件】

打包插件的作用:https://www.bilibili.com/video/BV15b4y1a7yG?p=55

mvn package

maven打包的时候会执行测试的流程,运行test里面的代码,会导致数据有一些变化;

打包插件:打出一个可以独立运行的jar包;

  1. 所有程序放在classes,所有依赖放在lib,再打一个org工具包,用于独立运行boot工程,里面提供boot的类加载器
  2. 支持运行的核心是MANIFEST.MF文件,里面包含
  3. 主启动类Main-Class: org.springframework.boot.loader.JarLauncher【jar启动器】
  4. 主启动类找启动类Start-Class:com.lmcool.xxxApplication
Windows产看端口占用
netstat -ano                      # 查询端口
netstat -ano | findstr "端口号"    # 查询端指定口
tasklist | findstr "进程PID号"  	# 根据进程PID查询进程名称
taskkill -F -PID "进程PID号"		# 根据PID杀死任务
taskkill -f -t -im "进程名称"	    # 根据进程名称杀死任务
Linux运行SpringBoot

centOS7

cd /usr/local
mkdir app
cd app
# 传入jar包,注意java版本对应
java -version
java -jar app.jar

后台启动

nohub java -jar app.jar > server.log 2>&1 &
# 查看pid
ps -ef | grep "java-jar"
kill -9 pid

查看日志

cd app
cat server.log

日志

日志基础

作用

  • 编程期调试代码
  • 运营期记录信息
    • 记录日常运营重要信息(峰值流量、平均响应时长···.··)
    • 记录应用报错信息 (错误堆栈)
    • 记录运维过程数据(扩容、宕机、报警......)

级别:tarce(堆栈信息)debug(调试用),info(运行信息),warn(警告类信息),error(报错信息),fatal(灾难)

创建记录日志的的对象

方式1

@RestController
@RequestMapping("/books")
public class BookController {
    private static final Logger log = LoggerFactory.getLogger(Bookcontroller.class);
    @GetMapping
    public string getById(){
        System.out.println("springboot is running...2");
        Log.debug("debug...");
        log.info("info...");
        Log.warn("warn...");
        log.error("error...");
        return "springboot is running...2";
    }
}

方式2:创建一个类,让其他的类继承他

public class BaseClass{
    private Class clazz;
    public static Logger log;
    public BaseClass(){
        clazz = this.getClass();
        log = LoggerFactory.getLogger(clazz);
    }
}

方式3:lombok

@Slf4j
@RestController
@RequestMapping("/books")
public class BookController {

    @GetMapping
    public string getById(){
        System.out.println("springboot is running...2");
        Log.debug("debug...");
        log.info("info...");
        Log.warn("warn...");
        log.error("error...");
        return "springboot is running...2";
    }
}
日志配置

配置方式1

启动的时候加--debug

配置方式2

debug: true

配置方式3

# 推荐
logging:
	# 设置分组
	group: 
		ebank: com.lmcool.controller,com.lmcool.dao,com.lmcool.service
	level:
		root: debug
		# 设置某个包
		com.lmcool.controller: info
		# 对分组设置日志级别
		ebank: warn
日志输出格式控制

时间 级别 pid 所属线程 所属类/接口名 日志信息

PID:进程ID,用于表明当前操作所处的进程,当多服务同时记录日志时,该值可用于协助程序员调试程序

所属类/接口名:当前显示信息为SpringBoot重写后的信息,名称过长时,简化包名书写为首字母,甚至直接删除

2021-11-02 12:25:39.392 INFO 2336 --- [     main] com.itheima.springboot1@LogApplication : starting Springboot10LogApplication using Java 1.8.0 172 or
2021-11-02 12:25:39.395 INFO 2336 --- [     main] com.itheima.springboot1eLogApplication : No active profile set,falling back to default profiles: de
...
设置日志模版格式与文件记录日志
logging:
  pattern:
    console: "%d - %m%n" # 日期 消息 换行

时间 彩色(级别5位) pid不可被重写 线程号16位 %类名(-40 左对齐 .40 内容截取){青色} : 日志信息 : 换行

文件记录日志

日志名:%i是第几个

logging:
  pattern:
    console: "%d %clr(%5p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"
  file:
    name: server.log
  logback:
    rollingpolicy:
      max-file-size: 10mb
      file-name-pattern: server.%d{yyyy0MM-dd}.%i.log

标签:...,SpringBoot,运维,jar,笔记,debug,日志,com,log
From: https://www.cnblogs.com/lm02/p/18108111

相关文章

  • Java毕业设计-基于springboot开发的致远汽车租赁系统平台-毕业论文+答辩PPT(附源代码+
    文章目录前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构三、系统实现展示1、系统功能模块2、管理员功能模块3、业务员功能模块3、用户功能模块四、毕设内容和源代码获取总结Java毕业设计-基于springboot开发的致远汽车租......
  • Java毕业设计-基于springboot开发的智慧外贸平台-毕业论文+答辩PPT(附源代码+演示视频)
    文章目录前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构三、系统实现展示1、系统功能模块2、后台功能模块2.1管理员功能2.2买家功能2.3商家功能四、毕设内容和源代码获取总结Java毕业设计-基于springboot开发的智慧外贸......
  • 【OpenREALM学习笔记:4】geometry_msgs和tf在项目中的不同作用
    geometry_msgsgeometry_msgs是ROS中用于表示几何信息的消息包。它包含了多种消息类型,用于描述点、向量、变换、姿态(位置和方向)、形状等几何概念。geometry_msgs中的消息类型通常用于在ROS节点之间传递几何数据,例如:geometry_msgs/Point:表示三维空间中的一个点。geometry_......
  • springboot异常处理和JSR303校验
    springboot异常处理一、异常问题分析问题:并没有输出我们抛出异常时指定的异常信息。所以,现在我们的需求是当正常操作时按接口要求返回数据,当非正常流程时要获取异常信息进行记录,并提示给用户。异常处理除了输出在日志中,还需要提示给用户,前端和后端需要作一些约定:1、错误提示......
  • Oracle 常用SQL笔记
    1.查询所有的分区表SELECT*FROMDBA_TAB_PARTITIONS; 2.创建分区altertable{TABLE_NAME}addpartitionSYS_P202403valueslessthan(TO_DATE('2024-03-0100:00:00','SYYYY-MM-DDHH24:MI:SS','NLS_CALENDAR=GREGORIAN')),partition......
  • SpringBoot多环境配置
    写在前面在实际项目的开发过程中,我们程序往往需要在不同环境中运行。例如:开发环境、测试环境和生产环境。每个环境中的配置参数可能都会有所不同,例如数据库连接信息、文件服务器等等。SpringBoot提供了非常方便的方式来管理这些不同环境的配置。一、SpringProfile介绍Spr......
  • 《自动机理论、语言和计算导论》阅读笔记:p115-p138
    《自动机理论、语言和计算导论》学习第6天,p115-p138总结,总计24页。一、技术总结1.associativityandcomutativity(1)commutativity(交换性):Commutativityisthepropertyofanoperatorthatsayswecanswitchtheorderofitsoperandsandgetthesameresult.......
  • Springboot + redis分布式锁
    1.引入redis和redisson<!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!......
  • 基于springboot的企业高校财务管理系统
    jdk版本:1.8及以上ide工具:IDEA或者eclipse数据库:mysql 编程语言:java框架:SSM/springboot都有maven:3.6.1前端:layui+bootstrap+jsp本文首先实现了高校财务处理系统的发展随后依照传统的软件开发流程,最先为系统挑选适用的言语和软件开发平台,依据需求分析开展控制模块......
  • 【前端】layui前端框架学习笔记
    【前端目录贴】参考视频:LayUI参考笔记:https://blog.csdn.net/qq_61313896/category_12432291.html1.介绍官网:http://layui.apixx.net/index.html国人16年开发的框架,拿来即用,门槛低…2.LayUi的安装及使用Layui是一套开源的WebUI组件库,采用自身轻量级模块......