У меня есть отдельное Java-приложение REST, которое находится внутри Tomсat. Мне нужно выводить логи в файл, я использую logback. Но логи не записываются в файл. Они отображаются в консоли, хотя я удалил консоль приложения. Если вы попробуете на машине Windows, все идет хорошо При использовании RedHat (без графического интерфейса) логи не выводятся в файл (хотя они должны), а выводятся на консоль (хотя они не должны отображаться). Приложение работает точно, отвечает на запросы.
Logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="DEV_HOME" value="/var/tmp" />
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${DEV_HOME}/mytest.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${DEV_HOME}/mytest-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxFileSize>2KB</maxFileSize>
<maxHistory>4</maxHistory>
<totalSizeCap>10KB</totalSizeCap>
</rollingPolicy>
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="file" />
</root>
</configuration>
В Eclipse я делаю экспорт в jar-файл Runnable, выкидываю его на Linux-машину. Я бегу следующим образом:
java -jar test.jar &