私はlog4jに慣れていないので、助言が必要です。私はMavenを使ってJavaプロジェクトを持っています。 私の設定では、1日に1つのログファイルしか作成できません。 これで、アプリケーションを2回連続して実行すると、2回目の実行でログファイルが壊れてしまいます。 私は最初の実行からログを持っていることはありません。 私はアプリケーションを実行するたびに新しいログファイルを取得したいと考えています。私は私のpom.xmlファイルでのlog4jの依存を持ってlog_total_20170728.txt
Javaアプリケーションを2回連続して実行すると、2回目の実行でログファイルが破損する
:
それはという名前のログファイルを生成しjava -cp .;MyProject.jar com.data.utils.project.main.Main > .\log\log_total_%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%.txt
:
この
は、私は、コマンドラインを介して自分のアプリケーションを実行する方法です以下は私のlog4j.xmlの内容です。
<?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>