포트에서 수신 대기하는 응용 프로그램이 있으며 요청이있을 경우 응답을 처리하고 다시 보냅니다. 프로그램의 System.out.println을 텍스트 파일로 리디렉션했습니다 . 매일 파일을 롤아웃해야합니다.하지만 오전 12시에 롤아웃이 표시되지 않습니다. 롤아웃이 발생하고 어제의 파일 자체에 로그가 추가되는 경우가 있습니다. 아래 코드 스 니펫.날짜에 따라 출력 파일이 매일 생성되지 않음
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