--- 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;
}