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?