diff -r e56c951d8735 -r 96e348cb0442 hotspot/src/share/vm/runtime/thread.cpp --- a/hotspot/src/share/vm/runtime/thread.cpp Wed Sep 23 22:04:23 2015 +0300 +++ b/hotspot/src/share/vm/runtime/thread.cpp Thu Sep 24 12:36:04 2015 +0200 @@ -37,6 +37,7 @@ #include "interpreter/linkResolver.hpp" #include "interpreter/oopMapCache.hpp" #include "jvmtifiles/jvmtiEnv.hpp" +#include "logging/logConfiguration.hpp" #include "memory/metaspaceShared.hpp" #include "memory/oopFactory.hpp" #include "memory/universe.inline.hpp" @@ -3306,6 +3307,10 @@ // Initialize the os module before using TLS os::init(); + // Record VM creation timing statistics + TraceVmCreationTime create_vm_timer; + create_vm_timer.start(); + // Initialize system properties. Arguments::init_system_properties(); @@ -3315,6 +3320,9 @@ // Update/Initialize System properties after JDK version number is known Arguments::init_version_specific_system_properties(); + // Make sure to initialize log configuration *before* parsing arguments + LogConfiguration::initialize(create_vm_timer.begin_time()); + // Parse arguments jint parse_result = Arguments::parse(args); if (parse_result != JNI_OK) return parse_result; @@ -3341,10 +3349,6 @@ HOTSPOT_VM_INIT_BEGIN(); - // Record VM creation timing statistics - TraceVmCreationTime create_vm_timer; - create_vm_timer.start(); - // Timing (must come after argument parsing) TraceTime timer("Create VM", TraceStartupTime); @@ -3492,6 +3496,7 @@ // debug stuff, that does not work until all basic classes have been initialized. set_init_completed(); + LogConfiguration::post_initialize(); Metaspace::post_initialize(); HOTSPOT_VM_INIT_END(); @@ -3966,6 +3971,8 @@ // exit_globals() will delete tty exit_globals(); + LogConfiguration::finalize(); + return true; }