< prev index next >
src/share/vm/logging/logConfiguration.cpp
Print this page
rev 12117 : 8146009:
@@ -96,18 +96,18 @@
void LogConfiguration::initialize(jlong vm_start_time) {
LogFileOutput::set_file_name_parameters(vm_start_time);
LogDecorations::initialize(vm_start_time);
assert(_outputs == NULL, "Should not initialize _outputs before this function, initialize called twice?");
_outputs = NEW_C_HEAP_ARRAY(LogOutput*, 2, mtLogging);
- _outputs[0] = LogOutput::Stdout;
- _outputs[1] = LogOutput::Stderr;
+ _outputs[0] = &StdoutLog;
+ _outputs[1] = &StderrLog;
_n_outputs = 2;
}
void LogConfiguration::finalize() {
- for (size_t i = 2; i < _n_outputs; i++) {
- delete _outputs[i];
+ for (size_t i = _n_outputs; i > 0; i--) {
+ disable_output(i - 1);
}
FREE_C_HEAP_ARRAY(LogOutput*, _outputs);
}
// Normalizes the given LogOutput name to type=name form.
@@ -278,11 +278,11 @@
ts->set_output_level(out, LogLevel::Off);
ts->update_decorators();
}
// Delete the output unless stdout/stderr
- if (out != LogOutput::Stderr && out != LogOutput::Stdout) {
+ if (idx > 1) {
delete_output(idx);
} else {
out->set_config_string("all=off");
}
}
@@ -320,11 +320,11 @@
assert(expr.verify_tagsets(),
"configure_stdout() called with invalid/non-existing tag set");
// Apply configuration to stdout (output #0), with the same decorators as before.
ConfigurationLock cl;
- configure_output(0, expr, LogOutput::Stdout->decorators());
+ configure_output(0, expr, _outputs[0]->decorators());
notify_update_listeners();
}
bool LogConfiguration::parse_command_line_arguments(const char* opts) {
char* copy = os::strdup_check_oom(opts, mtLogging);
< prev index next >