【发布时间】:2021-01-02 13:44:51
【问题描述】:
我有一个 spring boot uber/fat jar,它设置为 linux 服务并使用以下命令启动
systemctl start servicename
spring boot jar 有如下日志文件配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<property name="LOG_FILE" value="logs/spring.log"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<property name="SPECIAL_FILE_NAME" value="special"/>
<appender name="SPECIAL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%-10.10thread] %-5level %30.30logger{29}:%-4line %msg%n</pattern>
<charset>utf8</charset>
</encoder>
<file>logs/controller.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>logs/controller-%i.log</fileNamePattern>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<logger name="com.org.app.controller" level="debug" additivity="false">
<appender-ref ref="SPECIAL_FILE"/>
</logger>
<root level="INFO">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
我的服务是这样配置的
[Unit]
Description=myapp
[Service]
User=appuser
WorkingDirectory=/home/appuser
ExecStart=/usr/bin/java -Xmx256m -jar -Dspring.profiles.active=test /home/appuser/myapp.jar
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
但是,服务启动时不会生成日志。有什么想法吗??
如果我在 shell 中使用该命令,则会生成日志
/usr/bin/java -Xmx256m -jar -Dspring.profiles.active=test /home/appuser/myapp.jar
我什至尝试在服务文件下方添加以下内容,但没有成功。
StandardOutput=/home/appuser/logs/log.log
StandardError=/home/appuser/logs/error.log
【问题讨论】:
标签: java linux spring-boot jar