springBoot简单记录日志
记录日志的几种方法
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包。