lib/logging.rb in logging-1.6.2 vs lib/logging.rb in logging-1.7.0

- old
+ new

@@ -491,11 +491,11 @@ def log_internal( level = 1, &block ) ::Logging::Logger[::Logging].__send__(levelify(LNAMES[level]), &block) end # Close all appenders - def shutdown + def shutdown( *args ) log_internal {'shutdown called - closing all appenders'} ::Logging::Appenders.each {|appender| appender.close} end # Reset the logging framework to it's uninitialized state @@ -509,36 +509,36 @@ remove_const :MAX_LEVEL_LENGTH if const_defined? :MAX_LEVEL_LENGTH remove_const :OBJ_FORMAT if const_defined? :OBJ_FORMAT end # :startdoc: end -end # module Logging + require libpath('logging/appender') + require libpath('logging/layout') + require libpath('logging/log_event') + require libpath('logging/logger') + require libpath('logging/repository') + require libpath('logging/root_logger') + require libpath('logging/stats') + require libpath('logging/color_scheme') + require libpath('logging/appenders') + require libpath('logging/layouts') + require libpath('logging/proxy') -Logging.libpath { - require 'logging/appender' - require 'logging/layout' - require 'logging/log_event' - require 'logging/logger' - require 'logging/repository' - require 'logging/root_logger' - require 'logging/stats' - require 'logging/color_scheme' - require 'logging/appenders' - require 'logging/layouts' - require 'logging/proxy' + require libpath('logging/config/configurator') + require libpath('logging/config/yaml_configurator') - require 'logging/config/configurator' - require 'logging/config/yaml_configurator' + require libpath('logging/rails_compat') +end # module Logging - require 'logging/rails_compat' -} - -# This exit handler will close all the appenders that exist in the system. +# This finalizer will close all the appenders that exist in the system. # This is needed for closing IO streams and connections to the syslog server # or e-mail servers, etc. # -at_exit { Logging.shutdown } +# You can prevent the finalizer from running by calling `exit!` from your +# application. This is required when daemonizing. +# +ObjectSpace.define_finalizer self, Logging.method(:shutdown) end # unless defined?