【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)问题解决方案

相关推荐
prince052 小时前
用户积分系统怎么设计
java·大数据·数据库
96774 小时前
理解IOC控制反转和spring容器,@Autowired的参数的作用
java·sql·spring
SY_FC4 小时前
实现一个父组件引入了子组件,跳转到其他页面,其他页面返回回来重新加载子组件函数
java·前端·javascript
耀耀_很无聊5 小时前
09_Jenkins安装JDK环境
java·运维·jenkins
ノBye~5 小时前
Centos7.6 Docker安装redis(带密码 + 持久化)
java·redis·docker
黑臂麒麟5 小时前
openYuanrong:多语言运行时独立部署以库集成简化 Serverless 架构 & 拓扑感知调度:提升函数运行时性能
java·架构·serverless·openyuanrong
XiaoLeisj5 小时前
Android Jetpack 页面架构实战:从 LiveData、ViewModel 到 DataBinding 的生命周期管理与数据绑定
android·java·架构·android jetpack·livedata·viewmodel·databinding
⑩-5 小时前
为什么要用消息队列?使用场景?
java·rabbitmq
似水明俊德5 小时前
01-C#.Net-泛型-面试题
java·开发语言·面试·c#·.net
Allnadyy5 小时前
【C++项目】从零实现高并发内存池(一):核心原理与设计思路
java·开发语言·jvm