Согласно документации , Print
выводится на канал $Output
, который является списком потоков.Итак, в начале блокнота,
strm = OpenWrite["output.log"];
AppendTo[ $Output, strm ];
и в конце блокнота
Close[strm];
Обратите внимание, что если выполнение прервется до закрытия потока, вы будетепридется сделать это вручную.Кроме того, вышеприведенный код перезапишет предыдущие данные в «output.log», поэтому вы можете использовать вместо этого OpenAppend
.
Редактировать : чтобы гарантироватьчто Abort
будет вызван, рассмотрите возможность использования одного из методов, описанных здесь .