Currently the FileSub opens and closes the log file every time it writes a message. Change this to leave the file open and close it at the appropriate time.
This could be part of a deferred method call in the Broker to close all the connections to publishers and subscribers when the broker shuts down.