How to hook the command window to capture output in real-time?

조회 수: 11 (최근 30일)
Zohar
Zohar 2025년 6월 18일
편집: Zohar 2025년 6월 19일
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
Walter Roberson
Walter Roberson 2025년 6월 18일
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...)
Zohar
Zohar 2025년 6월 19일
편집: Zohar 2025년 6월 19일
A correction: Diary flushes every line during an interactive session in the command window. However, it records nothing from the C API eval. Hooking the command window won't help me...

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Desktop에 대해 자세히 알아보기

태그

제품


릴리스

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by