Is there a way to take all rooFit (not just MIGRAD) output and pipe it to a file?


Yes that can be done. If you look at the default RooFit message service configuration

root> RooMsgService::instance().Print() ;

[0] MinLevel = PROGRESS Topic = Any
[1] MinLevel = INFO Topic = Minization Plotting Fitting Eval Caching ObjectHandling InputArguments NumericIntegration

You’ll see two or three active streams (depending on the RooFit version you’re using).
You can add streams to pass selected message to file as well by adding streams
configurations with an OutputFile() modifier. This example will e.g. send all
DEBUG (and higher) level output to a file.
RooMsgService::instance().addStream(RooMsgService::DEBUG,Topic(RooMsgService::Tracing),OutputFile(“rf506_debug.log”)) ;

Some more examples of RooMsgService configuration examples are in