0
実行時にlog4jのファイルアペンダファイル名を変更します。実行時に同じアペンダーの新しいファイルにlog4jファイルアペンダーの古いファイルの内容を取得する方法はありますか?
今、私は前のファイルの内容をアペンダーの新しいファイルに入れたいと思います。
誰かがこれを行う方法を教えてもらえますか?
当初、私のようにlog4j.propertiesを持っている:私が最初にやる、私のプログラムでは
#log4j.appender.H.File='/home/g/connector/logs/'Y'_H.log'
#log4j.appender.H.File=/home/g/connector/logs/H.log
log4j.appender.H.File=/home/g/${logNameSuffix}.log
:
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd.HH:mm:ss");
formattedDate = "jam" + formatter.format(date) + "_" + port;
System.setProperty("logNameSuffix", formattedDate);
PropertyConfigurator.configure(otherArgs[1]);
その後再負荷として:
私が欲しいものString logName = formattedDate;
System.clearProperty("logNameSuffix");
System.setProperty("logNameSuffix", logName);
LogManager.resetConfiguration();
作成された新しいログは古いログの内容を取得する必要があります。
log4jで可能ですか?
おかげで、 JJ
なぜですか?そのようなものは、タイムスタンプ付きのファイル名を作成するという目的を破るものであり、コマンドラインでのファイル連結を処理するのと同じくらい簡単です。 –
これはプログラムの呼び出し時であるため、私はログファイル名を持っていません。しかし、私はその名前でログを作成し、この新しいログファイル内の以前のすべての内容を取得したときに、いつかexectuonでファイル名を取得します。 – user656189