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....@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-unsubscr...@logging.apache.org > For additional commands, e-mail: log4j-user-h...@logging.apache.org >