class Kafo::Logging
Constants
- LOG_LEVELS
Public Class Methods
add_logger(name)
click to toggle source
# File lib/kafo/logging.rb, line 88 def add_logger(name) ::Logging.logger[name] end
buffer()
click to toggle source
# File lib/kafo/logging.rb, line 102 def buffer @buffer ||= [] end
buffering?()
click to toggle source
# File lib/kafo/logging.rb, line 106 def buffering? root_logger.appenders.empty? end
dump_buffer()
click to toggle source
# File lib/kafo/logging.rb, line 118 def dump_buffer @buffer.each do |log| ::Logging.logger[log[0]].send(log[1], *([log[2]].flatten(2)), &log[3]) end @buffer.clear end
dump_needed?()
click to toggle source
# File lib/kafo/logging.rb, line 110 def dump_needed? !buffer.empty? end
layout(color: false)
click to toggle source
# File lib/kafo/logging.rb, line 80 def layout(color: false) ::Logging::Layouts::Pattern.new( pattern: "%d [%-6l] [%c] %m\n", color_scheme: color ? 'bright' : nil, date_pattern: '%Y-%m-%d %H:%M:%S' ) end
root_logger()
click to toggle source
# File lib/kafo/logging.rb, line 15 def root_logger @root_logger ||= ::Logging.logger.root end
set_color_scheme()
click to toggle source
# File lib/kafo/logging.rb, line 62 def set_color_scheme ::Logging.color_scheme( 'bright', :levels => { :info => :cyan, :notice => :green, :warn => :yellow, :error => :red, :fatal => [:white, :on_red] }, :date => :blue, :logger => :cyan, :line => :yellow, :file => :yellow, :method => :yellow ) end
setup(verbose: false)
click to toggle source
# File lib/kafo/logging.rb, line 19 def setup(verbose: false) set_color_scheme level = KafoConfigure.config.app[:log_level] setup_file_logging( level, KafoConfigure.config.app[:log_dir], KafoConfigure.config.app[:log_owner], KafoConfigure.config.app[:log_group] ) setup_verbose(level: KafoConfigure.config.app[:verbose_log_level] || level) if verbose end
setup_file_logging(log_level, log_dir, log_owner, log_group)
click to toggle source
# File lib/kafo/logging.rb, line 33 def setup_file_logging(log_level, log_dir, log_owner, log_group) filename = KafoConfigure.config.log_file begin FileUtils.mkdir_p(log_dir, :mode => 0750) rescue Errno::EACCES puts "No permissions to create log dir #{log_dir}" end begin root_logger.appenders = ::Logging.appenders.rolling_file( 'configure', level: log_level, filename: filename, layout: layout(color: false), truncate: true, roll_by: 'date' ) FileUtils.chown( log_owner, log_group, filename ) rescue ArgumentError puts "File #{filename} not writeable, won't log anything to file!" end end
setup_verbose(level: :notice)
click to toggle source
# File lib/kafo/logging.rb, line 92 def setup_verbose(level: :notice) root_logger.add_appenders( ::Logging.appenders.stdout( 'verbose', layout: layout(color: KafoConfigure.use_colors?), level: level ) ) end
to_buffer(*args)
click to toggle source
# File lib/kafo/logging.rb, line 114 def to_buffer(*args) buffer << args end