Details
Description
Currently, SimpleLogger provides a Flush() interface which is used by its client(s) to periodically (hard-coded to 5 seconds) flush the log file. We could eliminate these flush threads by keeping track of last flush time, and have the caller of SimpleLogger::AppendEntry() flush on demand (now - last_flush_time >= 5 seconds or whatever).
This has the added benefit of reducing contention on the SimpleLogger::log_file_lock_ mutex to just between the threads adding entries to the log file.