Pracuję nad projektem, w którym zbieram mnóstwo rzeczy w pliku i chcę się upewnić, że mój plik dziennika zostanie zwinięty, gdy tylko zostanie osiągnięty ustalony limit dla pliku. Mam plik poniżej logback.xml
, ale wygląda na to, że rozmiar pliku nie działa. Widzę, że mój plik ma rozmiar 793M, ale limit to 100MJak zachować plik dziennika zgodnie z rozmiarem pliku?
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>process.log</file>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>100MB</maxFileSize>
</triggeringPolicy>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>process%i.log</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>9</maxIndex>
</rollingPolicy>
<encoder>
<pattern>%date %level [%thread] %msg%n</pattern>
<!-- this improves logging throughput -->
<immediateFlush>true</immediateFlush>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder
by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</configuration>
Co jest nie tak? A także jaka jest najlepsza polityka, którą powinniśmy przestrzegać w zakresie produkcji w zakresie pozyskiwania drewna? Logujemy kilka rzeczy w pliku i nie chcemy zapełniać dysku tym plikiem dziennika.
Dzięki za twój przykład. Na koniec masz 'root level = DEBUG' co to ogólnie znaczy? Zamiast "DEBUG", jeśli zrobię to "INFO", to co się stanie? – john
Ustawienie poziomu głównego dla debugowania oznacza, że domyślnie chcesz, aby wszystkie wywołania log.debug() były wysyłane do pliku. Jeśli ustawisz go na INFO, w pliku nie zobaczysz instrukcji DEBUG log. W środowisku produkcyjnym często zwiększa się poziom rejestrowania do wartości WARN, aby zmniejszyć ilość rejestrowanych danych wyjściowych. Zwykle używam INFO w produkcji sam i stwierdzam, że jest to wystarczające. Możesz dodać określone elementy w swojej konfiguracji, aby "zastąpić" domyślną: –
pczeus
Daj mi znać, jeśli to rozwiąże problem i zaakceptuj to jako odpowiedź, jeśli to zrobi . Powodzenia! – pczeus