В системах Unix у вас есть что-то, называемое syslog (которое, кстати, является как библиотечным вызовом, так и openlog и closelog, а также сервисом). В Windows я считаю, что есть журнал событий, хотя я не знаю API для этого.
В любом случае, поскольку системный журнал (и журнал событий в окнах) регистрируется через IPC (иногда даже удаленно по сети), процесс не связан и не будет зависеть от сбоя вашей программы. Таким образом, вы также снимите с себя ответственность за сохранение файла в службе системного журнала. Обратите внимание, что это включает в себя такие вещи, как журналирование и сжатие файлов журналов, а также дает вам возможность использовать стандартизированные инструменты для оценки указанных файлов журналов (например, IDS).
Теперь, как говорится, сбой СИСТЕМЫ (сбой питания или что-то в этом роде) - это совсем другая история, хотя я не знаю, является ли это вашей проблемой, если вы захотите немного рассказать о том, какая система вы работаете, может быть, проще предложить что-то более подходящее.