Log Error and Warning Messages to Text File
Mostra commenti meno recenti
Is there a way to log error and warning messages to a text file? I cannot use the "diary" function since I am running Matlab within Cameo System Modeler and don't have a command window.
3 Commenti
Walter Roberson
il 17 Giu 2022
Please expand on why you cannot use diary?
diary() could be a problem if you do not have file system access to write the diary to. However, diary() does not require a command window. Everything written to stdout or stderr will be logged in the diary.
Sonoma Rich
il 17 Giu 2022
Walter Roberson
il 17 Giu 2022
I would suggest using an absolute path for the diary file name, as you might not be cd to where you expect.
Risposte (2)
Jan
il 17 Giu 2022
You can catch errors using try-catch and write the messages whereever you want.
Redirecting warnings is more tricky. I use my own warning functions, but warnings created by toolbox functions are harder to catch. You can shadow the built-in function "warning" by a user-defined function, which is store in a folder on top of Matlab's path:
function warning(varargin) % [UNTESTED CODE!!!]
Msg = evalc('builtin(''warning'', varargin{:})');
... % ==> write the message to your log file
end
This looks ugly, but maybe it works.
I do not trust code, which shows warnings. After inverting a matrix, I check the lastwarn state and drop an error in case of problems. If this happens repeatedly, I add some code to check condition of the matrix before the inverting. So I do not used code for productive work, which drops warnings.
Sonoma Rich
il 17 Giu 2022
0 voti
1 Commento
Jan
il 17 Giu 2022
Is this an answer or a comment? In the latter case, please post it in the coirresponding section for comments. Thanks.
Categorie
Scopri di più su Introduction to Installation and Licensing 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!