Не понимаю, почему не держать все файлы журнала открытыми. Я не ожидал бы, что другие приложения будут писать в журналы, по крайней мере, пока ваш клиент открыт. Я бы тоже не пытался (по крайней мере, на первый взгляд) реализовать собственную буферизацию. Просто пишите строки по мере их поступления, и пусть ОС и среда выполнения выполняют буферизацию.