非常奇怪的问题 Java -jar 做成系统服务不会自动创建日志文件

2023-04-03 21:29:46 +08:00
 mafeifan

/usr/lib/systemd/system/userman.service

[Unit]
Description=userman webapp
After=network.target
After=mariadb.target

[Service]
ExecStart=/usr/bin/java -jar /home/ec2-user/userman-0.0.1-SNAPSHOT.jar --spring.config.location=/home/ec2-user/config/
ExecStop=/bin/kill -15 ${MAINPID}
User=ec2-user
Restart=always

[Install]
WantedBy=multi-user.target

当前登录 ec2-user 直接执行 /usr/bin/java -jar /home/ec2-user/userman-0.0.1-SNAPSHOT.jar --spring.config.location=/home/ec2-user/config/ 是可以在当前目录输出日志的。

但是执行sudo systemctl restart userman.service就不可以

application.yml

logging:
  level:
    com.sk.userman: debug
  config: classpath:log4j2.xml

1209 次点击
所在节点    Java
4 条回复
dode
2023-04-04 08:54:37 +08:00
有 selinux 吗,换个路径 /app/ec2-user/config/

不用系统的常见路径
superbase
2023-04-04 09:36:27 +08:00
把 config: classpath:log4j2.xml 这个读取的绝对路径打出来,读的路径看一眼立马明了。
salmon5
2023-04-04 09:41:56 +08:00
[Service]
WorkingDirectory=/home/ec2-user
试试
candidcrat
2023-04-04 10:39:50 +08:00
试试指定一下 llog4j2.xml 路径

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/929537

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX