Question about using "diary" command
Mostra commenti meno recenti
I'm trying to use the "diary()" command to capture the Command Window text to a log file. However, it's not behaving the way I expected. I don't know if I'm doing something wrong, or if I have an incorrect understanding of how "diary()" works.
Below is a toy program demonstrating how I'm using "diary()".
function diary_demo()
[~, host] = system('hostname');
host = host(~isspace(host));
user = getenv('USERNAME');
user = user(~isspace(user));
serial = now();
logfile = sprintf('%s-%s-%f.log', user, host, serial);
diary(logfile);
for i = 1:10
t = datetime('now');
fprintf('now = %s\n', string(t));
pause(1);
end
fprintf('Done!\n');
% With "diary('off')" commented-out, nothing is written to the log file
% until exiting MATLAB.
% With "diary('off')" active, Command Window text is written to the log
% file when the command runs, even if the m-file hasn't finished yet.
fprintf('About to pause 30 seconds before running "diary(''off'')".\n');
pause(30);
diary('off');
fprintf('"diary(''off'')" just ran. About to pause another 30 seconds before exiting the m-file.\n');
pause(30);
fprintf('Exiting m-file.\n');
What I expected was that lines written out to the Command Window (i.e. the datetime info) would be written to my log file at the same time.
What I got was that nothing was written to the log file until the "diary('off')" command ran. (Or until I exited MATLAB.) At that point, everything I had written to the Command Window was written to my log file in one lump.
Am I doing something wrong with the "diary()" command? Or do I have an incorrect understanding of how the "diary()" command works?
Risposta accettata
Più risposte (1)
Steven Lord
il 7 Lug 2025
0 voti
I'm not 100% sure of this, but perhaps the -logfile startup option would be of use to you. I think it might update the log file more frequently than diary updates the diary file.
1 Commento
Bob
il 8 Lug 2025
Categorie
Scopri di più su Entering Commands in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!