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