Когда JVM создает файл журнала с включенной ротацией журналов, он создает файл с таким именем:
logfile.0.current
После того, как он достигает порогового размера файла и поворачивается к новому файлу, он перемещает файл в logfile.0
и создает новый файл: logfile.1.current
У меня есть программа, которая читает из этих файлов журнала и выполняет некоторую обработку, а затем записывает содержимое в один файл.
Код для чтения из файла выглядит примерно так:
ssize_t numRead = read(_fd, buffer, BUF_SIZE - 1);
// I want to know how to handle the situation if file gets deleted here
char * msg = new char[numRead + 1];
strncpy(msg, buffer, numRead);
msg[numRead] = '\0';
// write the msg to a different file.
Но я изо всех сил пытаюсь справиться с ситуацией, когда logfile.0.current
переезжает в logfile.0
,
Задача ещё не решена.
Других решений пока нет …