Файловая систему устроена таким образом, что если вы хотите что-то изменить в файле, вам будет необходимо перезаписать его целиком. При этом понятное дело, что его нужно будет перечитать.
С минимальной нагрузкой можно только дописать в конец. (ну или изменить конкретный байт, не сдвигая все остальное, но это не logfile случай)
Поэтому да, сделать это возможно, но это ресурсоемко, поэтому это никто не делает, и НЕ нужно так делать.
Стандартный способ - это logrotate - когда файл доходит до определенного размера, лог продолжается в другой файл. При этом можно старый переименовать, и периодически удалять старые файлы.