[ace-users] ACE/TAO Logging
Michael T. Carter
mcarter at swri.org
Wed Jul 18 08:44:50 CDT 2007
VERSION 1.4 VERSION 1.5
ACE: 5.4a_p13 ACE: 5.5.9
TAO: 1.4aPp13 TAO: 1.5.9
I have now updated my 1.5 versions to x.5.9. I have even
updated my 1.4 version to patchlevel 13.
I am not really interested in support for the 1.4 version, even
though I do have projects using it. Main reason I mentioned it
was the behavior difference of the dynamic logging between 1.4
ACE 5.5.9 still "works" in that the original svc.conf is processed
and only allows the DEBUG, WARNING, and ERROR messages through. The
reconfigure has the same problem in warning/error that the Logger is
already initialized (remove before re-initializing).
TAO 5.5.9 has the same problem as with 5.5.4. It does not recognize
any thread priority settings in the svc.conf file. With 1.4, at least
the reconfigure caused it to do something right, but with 5.5.* the
reconfigure give the warning/error message described above and I guess
the Logger is never really reconfigured.
Back to my original questions,
(1) why doesn't the TAO version (ORB_init) process the svc.conf file
the first time around like the ACE_Service_Config::open does with
just using ACE, and
(2) why doesn't the reconfigure actually work in the latest
I took a peek at the source code where the "Remove before re-init..."
debug message is outputted and found the following comment in the
// If there is an active service already, it must first be removed,
// before it could be re-installed.
// IJ: This used to be the behavior, before allowing multiple
// independent service repositories. Should that still be required?
So this may not be behaving as intended.
Douglas C. Schmidt wrote:
> Hi Michael,
> Thanks for using the PRF.
>> VERSION 1.4 VERSION 1.5
>> ACE: 5.4a_p4 ACE: 5.5.4
>> TAO: 1.4aPp4 TAO: 1.5.4
> Please upgrade to ACE+TAO+CIAO x.5.9 (i.e., ACE 5.5.9, TAO 1.5.9, and
> CIAO 0.5.9), which you can download from
> under the heading: "Latest Beta Kit".
> The DOC groups at Washington University, UC Irvine, and Vanderbilt
> University only provide "best effort" support for non-sponsors for the
> latest release, as described in
> Thus, if you need more "predictable" help for earlier versions of
> ACE+TAO, I recommend that you check out
> for a list of companies that will provide you with ACE+TAO commercial
>> HOST/TARGET MACHINE: Linux (RedHat AS3 - but same issue on AS4)
>> COMPILER: gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-52)
>> I have created a simple program that outputs various ACE_DEBUG levels
>> (TRACE,DEBUG.INFO.NOTICE,ERROR). I also have a svc.conf file that
>> disables a few so they will not appear in the output:
>> dynamic Logger Service_Object * ACE:_make_ACE_Logging_Strategy()
>> "-f STDERR -o -p ~TRACE|DEBUG|~INFO|WARNING|~NOTICE|ERROR|"
>> One version is written to use just ACE (-d for debug and -f name
>> for svc.conf use) and the other with TAO (-ORBDebug for debug and
>> -ORBSvcConf for svc.conf). I print out one group of debug messages,
>> perform a ACE_Service_Config::reconfigure(), and then another group
>> of debug messages.
>> The ACE version that uses the ACE_Service_Config::open behaves
>> as expected in both versions (even though there is an Logger
>> re-inititalize warning in the 1.5 version) in that is outputs
>> only the DEBUG, WARNING, and ERROR statements. The valid output
>> occurs before and after the reconfigure.
>> The issues:
>> (1) In both versions (1.4/1.5) of the TAO test code, the svc.conf
>> "appears" to load properly at startup, but the first set of debug
>> messages include all messages types, as if the sync.conf file
>> or the priorities are ignored.
>> (2) With the 1.4 version of the TAO test code, the proper debug
>> messages are outputted only after the ::reconfigure() is called.
>> This does not occur in the 1.5 version. In fact, there is no
>> way of disabling any priorities, every log level is outputted.
>> (3) I do not know if this is part of the problem with the 1.5 but
>> when performing the reconfigure function, the ACE::debug output
>> shows the following "warning":
>> ACE (13041|3076387488) SG::initialize - repo=0x8790468,
>> Logger is already initialized. Remove before re-initializing
>> This is the same output seen with the ACE test code. I could not
>> find a way to remove the dynamic services before calling
>> Our current project is using the ACE/TAO 1.5, but the log files are
>> being overwhelmed with all debug levels. Any help would be greatly
More information about the Ace-users