У меня есть серверная программа, использующая System.setErr () для ведения журнала.У меня проблема с закрытием последнего PrintStream и открытием нового для записи.
Вот как он инициализируется:
File file = new File("file" + "_.txt");
for (int i = 1; file.exists(); i++) {
file = new File(String.format("file" + "_%d.txt", i));
}
System.setErr(new PrintStream(new BufferedOutputStream(new FileOutputStream(file)), true));
Вот как он перезапускается:
System.err.flush();
System.err.close();
File file = new File("file" + "_.txt");
for (int i = 1; file.exists(); i++) {
file = new File(String.format("file" + "_%d.txt", i));
}
System.setErr(new PrintStream(new BufferedOutputStream(new FileOutputStream(file)), true));
Проблема в том, что все, что отправлено в новый PrintStream for System.err, не печатает.Только его части печатаются, но большинство (в нескольких потоках) этого не делают.
Хотелось бы помочь, спасибо!