私はファイルにたくさんのものを記録しているプロジェクトに取り組んでいます。私は、ファイルの固定制限に達するとすぐにログファイルがローリングしていることを確認したいと思います。私はlogback.xml
以下のファイルを持っていますが、ファイルサイズが動作していないようです。ファイルサイズは793Mだが制限は100Mだファイルサイズごとにログファイルをローリングする方法はありますか?
<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>
私はここで何をしていますか?また、ロギングの観点から、生産において従うべき最善の方策は何ですか?私たちはファイルにたくさんのものを記録しており、このログファイルでディスクをいっぱいにしたくありません。
ありがとうございます。最後に 'root level = DEBUG'というのは一般的にどういう意味ですか? 'DEBUG'の代わりに' INFO'とすれば何が起こるでしょうか? – john
ルートレベルをデバッグに設定すると、デフォルトですべてのlog.debug()呼び出しをfileに出力することができます。 INFOに設定すると、ファイルにDEBUGログステートメントが表示されません。プロダクション環境では、出力されるロギングの量を減らすためにログレベルをWARNより高くすることが一般的です。私は一般的に自分自身でINFOを使用し、それが十分であることを見いだします。 –
pczeus
あなたの問題を解決するかどうか教えてください。 。がんばろう! – pczeus