Ich habe zwei Log-Dateien in einer Log-Datei eingerichtet.Wie lösche ich eine Log-Datei programmatisch?
<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>
In Java werden diese wie so ein:
private static final Logger logger = LoggerFactory
.getLogger(Main.class);
und
private static final Logger logger = LoggerFactory
.getLogger("datafile1");
Die erste ist die Standard-Anwendungsprotokolldatei ist. Die zweite speichert Daten, die das Programm von einer db abruft.
Das Programm vergleicht dann Daten innerhalb der Protokolldatei und sendet einige Ergebnisse. Nachdem dies abgeschlossen ist, möchte ich dieses Protokoll (Datendatei1) löschen, so dass es leer und bereit für den nächsten Lauf ist. Wie kann ich das machen?
N.b Das Programm ist ein 24-Stunden-Prozess, der einen Scheduler verwendet, um diesen Job auszuführen. Es wird nicht jedes Mal neu gestartet, wenn der Job ausgeführt wird.