记录日志的几种方法

springboot项目内置日志框架

在配置文件中添加以下配置:

logging:
file:
name: "./log/xxx.log"
pattern:
file: "%d{yyyy-MM-dd} === [%thread] === %-5level === %logger{50} === - %msg%n"

项目打包成jar后会在同级目录生成log/xxx.log日志文件

linux命令输出

如果不在springboot项目中配置日志文件,则可以手动使用Linux命令生成日志输出

以下命令只是简单启动jar包命令,ctrl+c后项目会停掉

java -jar xxx.jar

以下命令是后台启动jar包命令,ctrl+c后项目不会停,但是用户断开连接后项目会停止

java -jar xxx.jar &

以下命令是后台启动jar包命令,ctrl+c后项目会停止,忽略输入并把输出追加到"nohup.out"

 nohup java -jar demo.jar

nohup命令即no hang up缩写,不挂断的意思,即断开连接项目不会停止,但是ctrl+c后会停止,所以通常与&命令一起使用如下:

nohup java -jar xxx.jar &

使用nohup java -jar xxx.jar &命令后,不管ctrl+c还是断开连接项目都会照常运行,并且会将日志信息输出到nohup.out文件,现在我们可以给nohup.out重定向输出一下,如下命令的意思是:

2>&1是将标准错误2重定向到标准输出&1,标准输出&1再被重定向输入到sys.log文件中,此种方法是最常用的Linux日志持久化方法。

nohup java -jar xxx.jar > ./sys.log 2>&1  &

linux直接杀死进程命令

grep为管道符号,如下命令的意思是:

查看java进程,并且过滤掉grep管道命令(因为正常执行ps -ef|grep java会过滤不掉grep命令如下图所示),

过滤掉grep后如下图所示,

然后取进程号,如下图所示,

将参数传递给kill -9命令,直接一行命令关闭进程。

ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9

最后可以将

nohup java -jar xxx.jar > ./sys.log 2>&1  &
ps -ef | grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9

分别写入文件起名为start.sh和stop.sh,直接./start.sh ./stop.sh启动和停止jar包。

springBoot简单记录日志的更多相关文章

  1. springboot简单介绍

    1.springboot简单介绍 微服务架构 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程. 该框架使用了特定的方 ...

  2. dubbo+zookeeper+springboot简单示例

    目录 dubbo+zookeeper+springboot简单示例 zookeeper安装使用 api子模块 生产者producer 消费者consumer @(目录) dubbo+zookeeper ...

  3. Springboot简单集成ActiveMQ

    Springboot简单集成ActiveMQ 消息发送者的实现 pom.xml添加依赖 <dependency> <groupId>org.springframework.bo ...

  4. SpringBoot简单整合redis

    Jedis和Lettuce Lettuce 和 Jedis 的定位都是Redis的client,所以他们当然可以直接连接redis server. Jedis在实现上是直接连接的redis serve ...

  5. springboot简单入门笔记

    一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...

  6. SpringBoot简单打包部署(附工程)

    前言 本文主要介绍SpringBoot的一些打包事项和项目部署以及在其中遇到一些问题的解决方案. SpringBoot打包 在SpringBoot打包这块,我们就用之前的一个web项目来进行打包. 首 ...

  7. springboot 简单搭建

    springboot的入门请参考:https://blog.csdn.net/hanjun0612/article/details/81538449 这里就简单看下搭建: 一,看一下项目结构: 创建一 ...

  8. SpringBoot2.0源码分析(一):SpringBoot简单分析

    SpringBoot2.0简单介绍:SpringBoot2.0应用(一):SpringBoot2.0简单介绍 本系列将从源码角度谈谈SpringBoot2.0. 先来看一个简单的例子 @SpringB ...

  9. SpringBoot简单的REST风格例子

    关于REST和RESTful的说明请移步至:怎样用通俗的语言解释REST,以及RESTful? 其实我自己也不是十分的理解,只是今天学SpringBoot时看到有个标着REST风格的简单例子,就记录一 ...

  10. Spring学习之路-SpringBoot简单入门

    简单讲SpringBoot是对spring和springMVC的二次封装和整合,新添加了一些注解和功能,不算是一个新框架. 学习来源是官方文档,虽然很详细,但是太墨迹了… 地址:https://doc ...

随机推荐

  1. 自动化运维?看看Python怎样完成自动任务调度⛵

    作者:韩信子@ShowMeAI Python3◉技能提升系列:https://www.showmeai.tech/tutorials/56 本文地址:https://www.showmeai.tech ...

  2. perl中ENV的使用

    在打印环境变量的时候可以用到.实际上是%ENV,perl中的哈希变量,里面保存的是环境变量.键是环境变量名,值是环境变量值.例如,有一个环境变量是PATH,其值为C:\windows,那么,打印这个环 ...

  3. 8.drf-序列化器

    在序列化类中,如果想使用request,则可以通过self.context['request']获取 序列化器的主要由两大功能 - 对请求的数据进行校验(底层调用的是Django的Form和Model ...

  4. 2022春每日一题:Day 34

    题目:lowbit求和 (没有找到哪个公开题库有这个题) 题意:求数组中任意一对数的异或和的lowbit的总和. 对于异或,二进制位中两个数相等则为0,反之为1,而且此题是要求lowbit,那我们利用 ...

  5. php自定义分页类

    <?php class Paging { private $totalStrip; //总条数 private $pageStrip; //每页条数 private $totalPages; / ...

  6. i春秋SQLi

    打开题目网页是个很简单的登录网页 先查看源码,抓包 都没找到可用的信息 依我所见这里应该就是一个注入 但是怎么输入都会回显username错误 直到输入admin 尝试admin# Admin'#   ...

  7. ArrayList中的ConcurrentModificationException,并发修改异常,fail-fast机制。

    一:什么时候出现? 当我们用迭代器循环list的时候,在其中用list的方法新增/删除元素,就会出现这个错误. package com.sinitek.aml; import java.util.Ar ...

  8. Selenium4+Python3系列(十) - Page Object设计模式

    前言 Page Object(PO)模式,是Selenium实战中最为流行,并且被自动化测试同学所熟悉和推崇的一种设计模式之一.在设计测试时,把页面元素定位和元素操作方法按照页面抽象出来,分离成一定的 ...

  9. 【Java SE进阶】Day12 函数式接口、函数式编程(Lambda表达式)

    一.函数式接口介绍 1.概念 仅有一个抽象方法的接口 适用于函数式编程(Lambda使用的接口) 语法糖:方便但原理不变,如for-each是Iterator的语法糖 Lambda≈匿名内部类的语法糖 ...

  10. K8s 超详细总结

    一个目标:容器操作:两地三中心:四层服务发现:五种Pod共享资源:六个CNI常用插件:七层负载均衡:八种隔离维度:九个网络模型原则:十类IP地址:百级产品线:千级物理机:万级容器:相如无亿,K8s有亿 ...