I run several Dynare runs via an m-file and would like to save MatLab output for future use as a log-file. Although Dynare creates a log-file by default, in my case it saves output of the last of Dynare run only.

Is there a way to save output of the entire run by Dynare tools or should I use MatLab’s diary function?

Try running Dynare with nolog option at the preprocessor stage and then use the diary
function of Matlab.