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

相关推荐
云烟成雨TD14 小时前
Spring AI Alibaba 1.x 系列【69】Token 用量统计
java·人工智能·spring
JAVA96514 小时前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试
在繁华处14 小时前
Java从零到熟练(四):面向对象基础
java·开发语言
小江的记录本16 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
在繁华处16 小时前
Java从零到熟练(三):流程控制
java·开发语言·python
唐青枫16 小时前
Java Optional 实战指南:优雅处理空值与链式转换
java
一起学开源16 小时前
一文读懂 ReAct 范式:让 AI Agent 真正学会“思考+行动“
java·javascript·react.js·ecmascript·react·alibaba·智能体开发
逍遥德17 小时前
MQTT教程详解-04.SpringBoot集成MQTT(告别手动控制)
java·spring boot·物联网·中间件·iot·iotdb
语戚18 小时前
力扣 3161. 块放置查询:线段树解法(Java 实现)
java·算法·leetcode·面试·线段树·力扣·
我命由我1234518 小时前
Android 开发问题:MlKitException: An internal error occurred during initialization.
android·java·java-ee·android jetpack·android-studio·androidx·android runtime