记录日志的几种方法

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. C语言实现计算“已经活了多少天”

    输入生日,通过系统或者自己输入,获得当前日期,计算已经存活了多少天. #include<stdio.h> #include<time.h> /** * 函数介绍: * 通过输入 ...

  2. jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一)

    jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一) 线程池介绍 在日常开发中经常会遇到需要使用其它线程将大量任务异步处理的场景(异步化以及提升系统的吞吐量),而在 ...

  3. C#使用GDI+同时绘制图像和ROI在picturebox上

    Bitmap bmp; /// <summary> /// 绘制图像 /// </summary> /// <param name="g">Gr ...

  4. JMX port被占用

    JMX port被占用 解决方案 win+R打开DOS窗口,进入window命令,注意:要以管理员身份打开(快捷键:ctrl+shift+enter): 使用命令:netstat -aon|finds ...

  5. 第三方模块的下载与使用、requests模块、爬取链家二手房数据、openpyxl模块、hashlib加密模块

    目录 第三方模块的下载与使用 下载第三方模块可能会出现的问题 网络爬虫模块之requests模块 网络爬虫实战之爬取链家二手房数据 自动化办公领域之openpyxl模块 第三方模块的下载与使用 第三方 ...

  6. element-ui 对话框dialog里使用echarts,报错'dom没有获取到'?

    给el-dialog添加@open="open()" 在刚进入页面的时候对话框是关闭的,echarts不进行获取dom,当点击对话框出来的时候,有个opened事件,在这个事件里边 ...

  7. bugku web基础$_GET

    让我们通过url传入what的值,让其等于flag 直接构造url就得到flag了

  8. (C++) 笔记 C++11 std::mutex std::condition_variable 的使用

    #include <atomic> #include <chrono> #include <condition_variable> #include <ios ...

  9. MySQL数据库:7、SQL常用查询语句

    Python基础之MySQL数据库 目录 Python基础之MySQL数据库 一.SQL语句常用查询方法 前期数据准备 1.基本查询 2.编写SQL语句的小技巧 3.查询之where筛选 3.1.功能 ...

  10. tomcat 随windows启动

    有时候服务器会突然断电,维护管理员只会帮我们启动服务器,但是不会不会帮我们启动Tomcat. 1.进入tomcat的bin文件夹,找到startup.bat,右键生成快捷方式到桌面. 2.点击桌面左下 ...