Sto lavorando a un progetto in cui sto registrando un sacco di cose in un file e voglio assicurarmi che il mio file di registro venga riavviato non appena viene raggiunto un limite fisso per il file. Ho un file sotto logback.xml
ma sembra che la dimensione del file non funzioni. Vedo la mia dimensione del file da 793 milioni, ma limitare ho è 100MCome mantenere il file di registro a rotazione come per dimensione del file?
<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>
Che male sto facendo qui? E anche qual è la politica migliore che dovremmo seguire nella produzione in termini di registrazione? Stiamo registrando un sacco di cose in un file e non vogliamo riempire il disco con questo file di registro.
Grazie per il tuo esempio. Alla fine hai 'root level = DEBUG' che cosa significa in generale? Invece di 'DEBUG' se lo faccio' INFO', allora cosa succederà? – john
L'impostazione del livello di root per il debug significa che per impostazione predefinita si desidera che tutte le chiamate di log.debug() vengano inviate al file. Se lo imposti su INFO, non vedrai le istruzioni del registro DEBUG nel tuo file. È comune in un ambiente di produzione aumentare il livello del registro in WARN più in alto per ridurre la quantità di registrazione che viene prodotta. Di solito uso INFO nella produzione e trovo che sia sufficiente. Puoi aggiungere specifici elementi nella tua configurazione per "sovrascrivere" il valore predefinito: –
pczeus
Fammi sapere se questo risolve il tuo problema e lo accetti come risposta se lo fa . In bocca al lupo! – pczeus