Create Diary in a function?
    10 views (last 30 days)
  
       Show older comments
    
    Florian Rössing
      
 on 6 May 2022
  
    
    
    
    
    Commented: Walter Roberson
      
      
 on 9 May 2022
            I am currently working on a simulation project where I want progress logs to be written to a file, so I can inspect them later. I was using diary for this. However having the setup of diary in the main function look ugly and made it bulky, so I wanted to move all the setup and diary functionality to a seperate function alike this:        
function createLogFile(RunPath)
    diaryfile = append(RunPath, 'log.txt');
    if exist(diaryfile, 'file')
        delete(diaryfile);
    end
    diary(diaryfile);
    RAII.diary = onCleanup(@() diary('off'));
    diary on
end
However as soon as the function finishes the diary falls out of scope and is closed. 
Is there a way to pass the diary out of the function?
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 6 May 2022
        Return RAII from the function. Your onCleanup will not fire until the struct stops existing.
4 Comments
More Answers (0)
See Also
Categories
				Find more on Loops and Conditional Statements in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
