Stephen Webb created LOGCXX-560:
-----------------------------------

             Summary: Logging in a static initializer
                 Key: LOGCXX-560
                 URL: https://issues.apache.org/jira/browse/LOGCXX-560
             Project: Log4cxx
          Issue Type: Improvement
            Reporter: Stephen Webb


Logging need to be configured before the first log call. To log in a static 
initializer code, configuration must be executed during static initialization.

The log4cxx documentation and examples suggest calling the configure method of 
the selected configurator in the main routine. It does not currently describe 
automatic configuration. 

Automatic configuration currently requires either a special name (log4cxx.xxx 
or log4j.xxx) for the config file or an environment variable 
(LOG4CXX_CONFIGURATION or log4j.configuration) set with the name of the config 
file.

It would be nice to be able to plug in user specified configuration logic that 
is invoked by log4cxx.

One possible approach would be to override autoConfigure() (added in 
[[#135|https://github.com/apache/logging-log4cxx/pull/135] 
title|https://github.com/apache/logging-log4cxx/pull/135] in a class that 
inherits from log4cxx::Hierarchy.

Calling LogManager::setRepositorySelector static before other static 
initialisations is difficult as static initialization order is not easily 
controller.

A LogManager::getLogger("name", MyRepository::Instance()) would prevent static 
initialization order issues.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to