You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
module SemanticLogger # Manage a collection of appenders. class Appenders < Concurrent::Array def close closed_appenders = [] each do |appender| logger.trace "Closing appender: #{appender.name}" closed_appenders << appender appender.flush appender.close rescue Exception => e logger.error "Failed to close appender: #{appender.name}", e end # Delete appenders outside the #each above which prevents changes during iteration. closed_appenders.each { |appender| delete(appender) } logger.trace 'All appenders closed and removed from appender list' end end end
|