class Photish::Log::Setup
Constants
- LEVEL
Attributes
config[R]
setup_complete[RW]
Public Class Methods
new()
click to toggle source
# File lib/photish/log/setup.rb, line 16 def initialize @config = nil end
Public Instance Methods
configure(incoming_config)
click to toggle source
# File lib/photish/log/setup.rb, line 20 def configure(incoming_config) return if config @config = incoming_config end
new_logger(name)
click to toggle source
# File lib/photish/log/setup.rb, line 25 def new_logger(name) logger = setup_new_logger(name, null_file) logger.extend(stdout_broadcast(name)) if output_to_stdout? logger.extend(file_broadcast(name)) if output_to_file? logger end
Private Instance Methods
file_broadcast(name)
click to toggle source
# File lib/photish/log/setup.rb, line 52 def file_broadcast(name) file = File.join('log', 'photish.log') FileUtils.mkdir_p('log') logger = setup_new_logger(name, file) logger.formatter = Log::Formatter.new(false) ActiveSupport::Logger.broadcast(logger) end
logging_level()
click to toggle source
# File lib/photish/log/setup.rb, line 66 def logging_level LEVEL.fetch(level.try(:to_sym)) end
null_file()
click to toggle source
# File lib/photish/log/setup.rb, line 41 def null_file File.open(File::NULL, 'w') end
output_to_file?()
click to toggle source
# File lib/photish/log/setup.rb, line 74 def output_to_file? output.include?('file') end
output_to_stdout?()
click to toggle source
# File lib/photish/log/setup.rb, line 70 def output_to_stdout? output.include?('stdout') end
setup_new_logger(name, stream)
click to toggle source
# File lib/photish/log/setup.rb, line 45 def setup_new_logger(name, stream) logger = ActiveSupport::Logger.new(stream) logger.progname = name logger.level = logging_level logger end
stdout_broadcast(name)
click to toggle source
# File lib/photish/log/setup.rb, line 60 def stdout_broadcast(name) logger = setup_new_logger(name, STDOUT) logger.formatter = Log::Formatter.new(colorize) ActiveSupport::Logger.broadcast(logger) end