Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Exporting Mathematica Print[] Output to a .txt file

I have a large Mathematica notebook that uses Print[] commands periodically to output runtime messages. This is the only output (aside from exported files) that this notebook generates. Is there any way I can automate the export of this output to a .txt file without having to re-write the Print[] commands?

like image 868
paradox09 Avatar asked Oct 12 '11 14:10

paradox09


1 Answers

According to the documentation, Print outputs to the $Output channel which is a list of streams. So, at the beginning of the notebook,

strm = OpenWrite["output.log"];
AppendTo[ $Output, strm ];

and at the end of the notebook

Close[strm];

Note, if execution is interrupted prior to closing the stream, then you'll have to do it manually. Also, the above code will overwrite prior data in "output.log," so you may wish to use OpenAppend, instead.

Edit: to guarantee that Abort will be called, consider using one of the techniques outlined here.

like image 51
rcollyer Avatar answered Nov 07 '22 17:11

rcollyer