[ 
https://issues.apache.org/jira/browse/LOGCXX-560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephen Webb updated LOGCXX-560:
--------------------------------
    Description: 
Logging needs 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]%20title] 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.

 

  was:
Logging needs 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]%20title] 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.

 


> 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
>            Priority: Major
>
> Logging needs 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]%20title] 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