[ace-users] ACE/TAO Logging

Michael T. Carter mcarter at swri.org
Tue Jul 17 17:18:11 CDT 2007

VERSION 1.4       VERSION 1.5
ACE: 5.4a_p4      ACE: 5.5.4
TAO: 1.4aPp4      TAO: 1.5.4

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()

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 mailing list