Logback не генерирует файлы журналов в Ubuntu - PullRequest
2 голосов
/ 29 августа 2011

Мы настроили logback для наших нужд регистрации в нашем приложении. Когда мы запускаем наше приложение на компьютере с Windows, оно работает как положено и генерирует файлы журналов с соответствующими журналами. Однако когда мы развернули тот же исполняемый файл JAR на компьютере с Ubuntu, он не генерирует файлы журнала. Ниже приведен код в logback.xml

<configuration>
  <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
    <!-- in the absence of the class attribute, it is assumed that the
         desired discriminator type is
         ch.qos.logback.classic.sift.MDCBasedDiscriminator -->
<discriminator>
  <key>uniqueNumber</key>
  <defaultValue>unknown</defaultValue>
</discriminator>
<sift>
  <appender name="FILE-${uniqueNumber}" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${uniqueNumber}.log</file>
    <append>true</append>
     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                    <FileNamePattern>${uniqueNumber}_%i.log</FileNamePattern>
                    <MinIndex>1</MinIndex>
                    <MaxIndex>10000</MaxIndex>
            </rollingPolicy>
            <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                    <MaxFileSize>5MB</MaxFileSize>
            </triggeringPolicy>
    <layout class="ch.qos.logback.classic.PatternLayout">
      <pattern>%d [%thread] %level %mdc %logger{35} - %msg%n</pattern>
    </layout>
  </appender>
</sift>
  </appender>
  <root level="DEBUG">
    <appender-ref ref="SIFT" />
  </root>
</configuration>

Ответы [ 2 ]

5 голосов
/ 29 августа 2011

Если что-то не так с конфигурацией logback выводит множество отладочных сообщений в System.out .Если вы их не видите, то, возможно, файлы сгенерированы, но вы просто не знаете, где.

Вы можете явно включить печать при обратном вызове с помощью <configuration debug="true">, что должно дать вам гораздо больше возможностей для работы.

Если вы просто не можете найти файлы, рассмотрите возможность использования lsof, чтобы найти полный путь к открытым файлам вашего приложения.

0 голосов
/ 29 августа 2011

У меня была проблема, похожая на вашу, даже с более простой конфигурацией входа в систему.

В моем файле logback.xml я использовал абсолютные пути вместо относительных для appender, но моя конфигурация только для Linux,и машины, на которых мы развертываем наше Java-приложение, все используют одну и ту же схему конфигурации / разбиения.

Файлы, по крайней мере, это то, что происходило со мной, должны быть на один каталог выше каталога вашего приложения.Допустим, вы выполняете JAR из PATH/my.jar, журналы должны быть в ../PATH.

...