Ich würde Ihren Rat benötigen, da ich Log4j nicht kenne. Ich habe ein Java-Projekt mit Maven. Meine Konfiguration ermöglicht es mir, nur eine Protokolldatei pro Tag zu haben. Also gerade jetzt, wenn ich meine Anwendung 2x hintereinander ausführen, wird die Protokolldatei durch den zweiten Lauf geplagt. Ich werde nie ein Protokoll vom ersten Lauf haben. Ich möchte in der Lage sein, eine neue Protokolldatei jedes Mal zu erhalten, wenn ich meine Anwendung ausführe.Log-Datei ist durch den zweiten Lauf geplagt, wenn ich meine Java-Anwendung 2x hintereinander
Dies ist, wie ich meine Anwendung über die Befehlszeile:
java -cp .;MyProject.jar com.data.utils.project.main.Main > .\log\log_total_%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%.txt
Benannt eine Protokolldatei erzeugt: log_total_20170728.txt
ich log4j dependancy in meiner pom.xml-Datei:
Unten ist mein log4j.xml Inhalt.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p %C{2}:%L - %m%n" />
</layout>
</appender>
<appender name="logfile" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="log/log_total.log" />
<param name="MaxFileSize" value="1000KB" />
<param name="MaxBackupIndex" value="5" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p %C{2}:%L - %m%n" />
</layout>
</appender>
<root>
<priority value="INFO"/>
<appender-ref ref="stdout" />
</root>
</log4j:configuration>