Summary: | add option to redirect all console output to a file | ||
---|---|---|---|
Product: | TAO | Reporter: | Johnny Willemsen <jwillemsen> |
Component: | IDL Compiler | Assignee: | DOC Center Support List (internal) <tao-support> |
Status: | ASSIGNED --- | ||
Severity: | enhancement | ||
Priority: | P3 | ||
Version: | 1.8.3 | ||
Hardware: | All | ||
OS: | Linux |
Description
Johnny Willemsen
2010-12-07 19:44:51 CST
Studied ACE logging and this is what I found so far: As far as I can tell, all the console output of tao_idl comes through ACE_DEBUG and ACE_ERROR. ACE_DEBUG and ACE_ERROR are hard-coded to use ACE_Log_Msg::instance(). An option to the IDL compiler can easily be used to configure the singleton to write to a file of a given name. The question is, do parallel builds occur in separate processes, and if so, do we get a different logging singleton per process? If yes to both of these questions, we're ok. If not, then the reconfiguration of the singleton by an IDL compiler option will also have to trigger the acquisition of the singleton's lock for the duration of the tao_idl execution. This might slow down parallel builds. In any case, the changes to support this enhancement will not be hard at all. I've already done the singleton reconfiguration and restoration in a small test program. In the IDL compiler, the only additional tasks will be parsing the option, adding some storage in IDL_GlobalData for necessary values, and splitting up the reconfig and restoration to occur at the beginning and the end, respectively, of execution. |