How to hook the command window to capture output in real-time?
11 views (last 30 days)
Show older comments
I need a way to hook the command window to capture output in real-time. Probably modify the java ui. I'd like whenever a line (errors included) is written to the command window, it would pass through my callback, and I'll send it to my log.
The motivation is viewing output when running a script from C++ API. I'm flying blind here, and my scripts may take hours. Current solutions such as diary, log file, or returned output from c++ eval() provide output only on completion.
This has been a long standing problem:
Currently, whenever I can, I use my own logger:
However, when calling external libs such as gurobi or ipopt, I don't have control. I could hook each one to write its own log file, but its a hassle.
---
UPDATE
Considering the comments below, the post should be better named:
"How to capture C API output in real-time?"
Related post:
https://www.mathworks.com/matlabcentral/answers/52545-how-can-i-request-an-output-in-real-time-without-interrupting-my-program
2 Comments
Walter Roberson
on 18 Jun 2025
If I recall correctly, diary() is specifically documented as flushing output no later than end-of-line... but the relevant documentation might be buried in release notes (that are no longer available online...)
Answers (0)
See Also
Categories
Find more on Desktop 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!