How to destroy and create a Session dynamically in QuickFix?
You could get the source for quickfix and derive from FileLog. Then overide:
void onIncoming( const std::string& value )
Change this to check for size/date/something else and roll based on your criteria.
I am trying to deal with the issue that QuickFix logs grow indefinitely by scheduling a cron-like job to stop the initiator, copy the log file (which looks like 'FIX.4.2-XXX-YYY.messages.current.log') to a different location, then start the initiator again. 
This works fine, except that QuickFix does not automatically create a new messages.current.log file to save to. If I create the file manually, QF does not save to it. QF only behaves properly when it is shut down and restarted, in other words, when the Session is destroyed and then created again. 
Rather than shutting down my entire application and restarting it (which I am not sure I can do automatically very easily) is there some way of destroying and creating the Session objects from within a running QF instance? 
I am using the Python bindings but should be able to figure out QF/J instructions or those from other languages.