src/hotspot/share/logging/logConfiguration.cpp
changeset 49181 fde9b3c56de4
parent 49180 9637557def32
child 49183 268beecd832a
--- a/src/hotspot/share/logging/logConfiguration.cpp	Wed Feb 28 09:30:06 2018 +0100
+++ b/src/hotspot/share/logging/logConfiguration.cpp	Wed Feb 28 10:37:02 2018 +0100
@@ -78,6 +78,11 @@
 #endif
 
 void LogConfiguration::post_initialize() {
+  // Reset the reconfigured status of all outputs
+  for (size_t i = 0; i < _n_outputs; i++) {
+    _outputs[i]->_reconfigured = false;
+  }
+
   LogDiagnosticCommand::registerCommand();
   Log(logging) log;
   if (log.is_info()) {
@@ -213,6 +218,8 @@
   assert(idx < _n_outputs, "Invalid index, idx = " SIZE_FORMAT " and _n_outputs = " SIZE_FORMAT, idx, _n_outputs);
   LogOutput* output = _outputs[idx];
 
+  output->_reconfigured = true;
+
   // Clear the previous config description
   output->clear_config_string();
 
@@ -447,7 +454,7 @@
   return true;
 }
 
-void LogConfiguration::describe_available(outputStream* out){
+void LogConfiguration::describe_available(outputStream* out) {
   out->print("Available log levels:");
   for (size_t i = 0; i < LogLevel::Count; i++) {
     out->print("%s %s", (i == 0 ? "" : ","), LogLevel::name(static_cast<LogLevelType>(i)));
@@ -467,11 +474,14 @@
   LogTagSet::describe_tagsets(out);
 }
 
-void LogConfiguration::describe_current_configuration(outputStream* out){
+void LogConfiguration::describe_current_configuration(outputStream* out) {
   out->print_cr("Log output configuration:");
   for (size_t i = 0; i < _n_outputs; i++) {
     out->print(" #" SIZE_FORMAT ": ", i);
     _outputs[i]->describe(out);
+    if (_outputs[i]->is_reconfigured()) {
+      out->print(" (reconfigured)");
+    }
     out->cr();
   }
 }