0
私はTomcat Webアプリケーションのロギングにlog4j 2.5を使用しています。 2つのアプリケーションサーバーがあり、どちらもネットワークパス上の同じログファイルに書き込みます。なぜ私のlog4j2ローリングログに前日のログエントリも含まれていますか?
新しいログファイルには前日のすべてのエントリが含まれているため、ログファイルのサイズが大きくなります。
たとえば、myLog-2016-06-01.logには、5-20(実装日)から06-01、myLog-05-31からのすべてのログが含まれ、5-20から5までのすべてが含まれます-31など...
私はXML設定ファイルの仕組みについて理解していないと思います。 log4j2.xmlから
関連情報は、次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace">
<Appenders>
<RollingRandomAccessFile name="RollingFileLogger"
fileName="[...]\myLog.log"
filePattern="[...]\myLog-%d{yyyy-MM-dd}.log">
<PatternLayout pattern="%n %n %d ${hostName} %p %c: %msg"/>
<Policies>
<TimeBasedTriggeringPolicy/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingRandomAccessFile>
<Console name="ConsoleLogger" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="RollingFileLogger"/>
<AppenderRef ref="ConsoleLogger"/>
</Root>
</Loggers>
"ネットワークパス上の同じログファイルに書き込む2つのアプリケーションサーバーがあります" - これは問題の可能性があります。 'SocketAppender'や' SyslogAppender'のように、いくつかのアプリケーションから同時に一つのログに書き込むために特別なアペンダーを使う必要があります。 – Roman
私はそれらを調査します、ありがとう。また、これが私の唯一の問題であることを確認するために、別のファイル(代わりにローカルのファイルシステム上のファイル)を試してみる予定です。 – Arc
それは問題です。私はSocketAppenderを設定しようとしています。 – Arc