私はポートでリッスンし続けるアプリケーションを持っています。リクエストがあった場合は、処理して返信します。プログラムのSystem.out.printlnをテキストファイルにリダイレクトしました。 。ファイルは毎日ロールアウトされますが、私は午前12時にロールアウトすることはありません。ロールアウトが発生し、昨日のファイル自体にログが追加されることがあります。コードスニペットを以下に示します。日時に基づいてsetoutファイルが毎日生成されない
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MBServ {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = null;
boolean listening = true;
String request_date = null;
String request_time = null;
String logFile="MBServ_";
ConnectServiceInfo fiServiceInfo = ConnectServiceInfo.getInstance();
ConnectServiceInfo fiservice = fiServiceInfo.getInstance();
try {
serverSocket = new ServerSocket(1122);
} catch (IOException e) {
System.exit(-1);
}
while (listening) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
request_date = sdf.format(date);
logFile="MBServ_"+request_date+".log";
System.setOut(new PrintStream(new FileOutputStream(logFile,true)));
new MBServT(serverSocket.accept(), fiservice).start();
}
serverSocket.close();
}
}
あなたは、エラーまたは例外を持っていますか? –
エラー/例外はありません。ただし、日付が変わると新しいファイルを作成するのではなく、古いファイルにログが追加されています。 – jan