2016-07-08 8 views
1

У меня есть приложение, которое продолжает слушать порт, и если какой-либо запрос приходит, обрабатывает и отправляет ответ назад. Я перенаправил System.out.println программы в текстовый файл , Я хочу, чтобы файл был свернут каждый день. Но я не вижу развертывания в 12.00. Иногда происходит развертывание, и иногда журналы добавляются к самому вчерашнему файлу. Ниже приведен фрагмент кода.файл настройки не генерируется ежедневно в зависимости от даты

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(); 
    } 
    } 
+0

Есть ли у вас какие-либо ошибки или исключения? –

+0

no error/exception.But журналы при добавлении к старым файлам вместо создания нового файла при изменении даты – jan

ответ

0

Я думаю, вы должны принудительно создать файл перед его использованием.

Вот exmaple:

Date date = new Date(); 
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); 
request_date = sdf.format(date); 
logFile="MBServ_"+request_date+".log"; 
File file = new File(logFile); 
file.createNewFile(); 
... 

Документация: https://docs.oracle.com/javase/7/docs/api/java/io/File.html#createNewFile()

+0

Я внес изменения в соответствии с приведенным выше фрагментом кода. Если он не создает новый файл при изменении даты – jan

+0

, он создает новый файл, но не совсем в 00.01 AM. Он создает в разное время каждый день – jan

+0

любые предложения? – jan