logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: Setting Log4jContextSelector programmatic in Main application
Date Mon, 15 Jan 2018 11:03:16 GMT
The Java language spec says that static blocks and static fields are initialized in textual
order.  https://docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.

Are you seeing something different?



(Shameless plug) Every java main() method deserves http://picocli.info

> On Jan 15, 2018, at 19:47, Sverre Moe <sverre.moe@gmail.com> wrote:
> 
> Using static initialization of two log4j properties on top of my main
> application.
> 
>    static {
>        System.setProperty("Log4jContextSelector",
> "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
>        System.setProperty("log4j.configurationFactory",
> "com.company.utils.LoggingConfigurationFactory");
>    }
> 
>    private static Logger logger = LogManager.getLogger(MyApplication.class);
> 
> 
> Seems I have to define Log4jContextSelector on the command line,
> otherwise Log4j2 does not use Async logging.
> -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
> 
> I can add this to maven configuration so users don't have to think
> about this when they are running the application, but I also don't
> want developers to have to manually have to add this property in IDE
> or command line. Will end up with developers who might get different
> performance than our users when they develop, test and debug the
> application.
> 
> 
> /Sverre
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
> 

Mime
  • Unnamed multipart/alternative (inline, 7-Bit, 0 bytes)
View raw message