ログバック ファイルに 2 つのログ ファイルを設定しています。
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/opt/loghome/${instance}/recon.%d{MM-dd-yyyy}.log.zip
</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<append>false</append>
<encoder>
<pattern>%d{MM/dd/yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%X{User} %msg%n</pattern>
</encoder>
</appender>
<appender name="datafile1" class="ch.qos.logback.core.FileAppender">
<file>/opt/loghome/datafiles/file1.log</file>
<append>false</append>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
Java では、これらは次のように設定されます。
private static final Logger logger = LoggerFactory
.getLogger(Main.class);
と
private static final Logger logger = LoggerFactory
.getLogger("datafile1");
1 つ目は、標準のアプリケーション ログ ファイルです。2番目は、プログラムがデータベースから取得するデータを格納します。
次に、プログラムはログファイル内のデータを比較し、いくつかの結果を送信します。これが完了したら、このログ (datafile1) をクリアして、次の実行に備えて空にします。これどうやってするの?
注意: プログラムは、スケジューラを使用してこのジョブを実行する 24 時間のプロセスです。ジョブが実行されるたびに再起動するわけではありません。