< prev index next >

src/share/vm/logging/logConfiguration.cpp

Print this page
rev 8933 : 8046148.01
rev 8934 : 8046148.02


  24 #include "precompiled.hpp"
  25 #include "logging/log.hpp"
  26 #include "logging/logConfiguration.hpp"
  27 #include "logging/logDecorations.hpp"
  28 #include "logging/logDecorators.hpp"
  29 #include "logging/logDiagnosticCommand.hpp"
  30 #include "logging/logFileOutput.hpp"
  31 #include "logging/logOutput.hpp"
  32 #include "logging/logTagLevelExpression.hpp"
  33 #include "logging/logTagSet.hpp"
  34 #include "memory/allocation.inline.hpp"
  35 #include "memory/resourceArea.hpp"
  36 #include "runtime/os.inline.hpp"
  37 #include "utilities/globalDefinitions.hpp"
  38 
  39 LogOutput** LogConfiguration::_outputs = NULL;
  40 size_t      LogConfiguration::_n_outputs = 0;
  41 
  42 void LogConfiguration::post_initialize() {
  43   assert(LogConfiguration_lock != NULL, "Lock must be initialized before post-initialization");

  44   LogHandle(logging) log;
  45   log.info("Log configuration fully initialized.");
  46   if (log.is_trace()) {
  47     ResourceMark rm;

  48     describe(log.trace_stream());
  49   }
  50   LogDiagnosticCommand::registerCommand();
  51 }
  52 
  53 void LogConfiguration::initialize(jlong vm_start_time) {
  54   LogFileOutput::set_file_name_parameters(vm_start_time);
  55   LogDecorations::set_vm_start_time_millis(vm_start_time);
  56 
  57   assert(_outputs == NULL, "Should not initialize _outputs before this function, initialize called twice?");
  58   _outputs = NEW_C_HEAP_ARRAY(LogOutput*, 2, mtLogging);
  59   _outputs[0] = LogOutput::Stdout;
  60   _outputs[1] = LogOutput::Stderr;
  61   _n_outputs = 2;
  62 }
  63 
  64 void LogConfiguration::finalize() {
  65   for (size_t i = 2; i < _n_outputs; i++) {
  66     delete _outputs[i];
  67   }
  68   FREE_C_HEAP_ARRAY(LogOutput*, _outputs);
  69 }
  70 




  24 #include "precompiled.hpp"
  25 #include "logging/log.hpp"
  26 #include "logging/logConfiguration.hpp"
  27 #include "logging/logDecorations.hpp"
  28 #include "logging/logDecorators.hpp"
  29 #include "logging/logDiagnosticCommand.hpp"
  30 #include "logging/logFileOutput.hpp"
  31 #include "logging/logOutput.hpp"
  32 #include "logging/logTagLevelExpression.hpp"
  33 #include "logging/logTagSet.hpp"
  34 #include "memory/allocation.inline.hpp"
  35 #include "memory/resourceArea.hpp"
  36 #include "runtime/os.inline.hpp"
  37 #include "utilities/globalDefinitions.hpp"
  38 
  39 LogOutput** LogConfiguration::_outputs = NULL;
  40 size_t      LogConfiguration::_n_outputs = 0;
  41 
  42 void LogConfiguration::post_initialize() {
  43   assert(LogConfiguration_lock != NULL, "Lock must be initialized before post-initialization");
  44   LogDiagnosticCommand::registerCommand();
  45   LogHandle(logging) log;
  46   log.info("Log configuration fully initialized.");
  47   if (log.is_trace()) {
  48     ResourceMark rm;
  49     MutexLocker ml(LogConfiguration_lock);
  50     describe(log.trace_stream());
  51   }

  52 }
  53 
  54 void LogConfiguration::initialize(jlong vm_start_time) {
  55   LogFileOutput::set_file_name_parameters(vm_start_time);
  56   LogDecorations::set_vm_start_time_millis(vm_start_time);
  57 
  58   assert(_outputs == NULL, "Should not initialize _outputs before this function, initialize called twice?");
  59   _outputs = NEW_C_HEAP_ARRAY(LogOutput*, 2, mtLogging);
  60   _outputs[0] = LogOutput::Stdout;
  61   _outputs[1] = LogOutput::Stderr;
  62   _n_outputs = 2;
  63 }
  64 
  65 void LogConfiguration::finalize() {
  66   for (size_t i = 2; i < _n_outputs; i++) {
  67     delete _outputs[i];
  68   }
  69   FREE_C_HEAP_ARRAY(LogOutput*, _outputs);
  70 }
  71 


< prev index next >