【JAVA技术】构建springboot项目报/tmp/spring.log(Permission denied)问题解决方案

今天运维和我说,部署springboot项目报错tmp/spring.log(Permission denied)。

虽然解决方案很简单,这里简单记录下,方便后续有遇到这方面问题的同学。

首先说下原因:一台linux服务器有多个用户,每个用户分别部署了不同的springboot项目,不同项目默认启动都生成了/tmp/spring.log。

既然知道原因了,解决方案写3种,按需处理:

1、运维最暴力直观的方式。

为/tmp 文件夹授权

linux命令:chmod -R 777 /tmp, /tmp目录权限太大,不是太安全,不推荐。

如果单纯chmod-R 777 /tmp/spring.log , 这个/tmp/spring.log按照linux的默认清除策略 可能30天后就清除/tmp文件下的文件了(过段时间继续赋予权限?),要么修改定时清理/tmp策略不清理某些文件。

java程序员的做法。springboot项目一般用logback日志,这里以logback.xml为例

2、不生成/tmp/spring.log文件,直接修改成default.xml

一般logback.xml默认写法

<include resource="org/springframework/boot/logging/logback/base.xml"/>

修改成

<include resource="org/springframework/boot/logging/logback/default.xml"/>

3、重新指定下 spring.log文件路径, 添加LOG_TEMP临时路径

复制代码
<property name="LOG_TEMP" value="./logs"/>
<include resource="org/springframework/boot/logging/logback/base.xml"/>

随笔所记

原文链接: 【JAVA技术】构建springboot项目报/tmp/spring.log(Permission denied)问题解决方案

相关推荐
纪莫27 分钟前
技术面:MySQL(一条SQL在MySQL的执行过程?、MyISAM和InnoDB的区别?数据库事务机制?)
java·数据库·java面试⑧股
闲人编程33 分钟前
Python协程的演进:从yield到async/await的完整历史
java·前端·python·async·yield·await·codecapsule
帅中的小灰灰1 小时前
C++编程建造器设计模式
java·c++·设计模式
动感小麦兜1 小时前
应用-常用工具部署命令
java·开发语言
日日行不惧千万里2 小时前
IDEA 是用什么开发的?
java·ide·intellij-idea
k***85842 小时前
SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)
spring boot·tomcat·mybatis
q***44813 小时前
Spring Boot 中 RabbitMQ 的使用
spring boot·rabbitmq·java-rabbitmq
百***06013 小时前
五大消息模型介绍(RabbitMQ 详细注释版)
java·rabbitmq·java-rabbitmq
q***48413 小时前
SpringBoot实战(三十二)集成 ofdrw,实现 PDF 和 OFD 的转换、SM2 签署OFD
spring boot·后端·pdf
转转技术团队3 小时前
MyBatis-Plus踩坑血泪史:那些年我们踩过的坑!
java·面试·mybatis