I am using Boost.log in my application. Having multiple threads logging massively, a logging operation must not be locking so I log using this sink:
boost::log::sinks::ordering_asynchronous_sink
into this frontend file:
boost::log::sinks::text_file_backend
The main purpose of logging is viewing critical errors to diagnose a crash. Yet I've noticed records are being written to file only once in a while (when a certain amount of records has added up probably), which means a sudden crash will leave no log-records explaining it.
What can I do here? Can I force file write on Fatal severity errors? A better approach?