Should log classes open/close a log file stream on each write to the log file or should it keep the log file stream open throughout the application\'s lifetime until all log
I would tend to leave them open -- but open them with the file share permissions set to allow other readers and make sure you flush log output with every message.
I hate programs which don't even let you look at the logfile while they are running, or where the log file isn't flushed and lags behind what is happening.