class AdvancedRubyCommandHandler::Logger
Constants
- COLORS
- MODES
Attributes
mode[R]
write_targets[RW]
Public Class Methods
new(mode = :console, write_targets = { :errors => "logs/errors.txt", :informations => "logs/infos.txt" })
click to toggle source
# File lib/advanced_ruby_command_handler/app/logger.rb, line 29 def initialize(mode = :console, write_targets = { :errors => "logs/errors.txt", :informations => "logs/infos.txt" }) @mode = mode.to_sym @write_targets = write_targets if @mode == :file end
Public Instance Methods
write(message, write_target = :informations)
click to toggle source
# File lib/advanced_ruby_command_handler/app/logger.rb, line 38 def write(message, write_target = :informations) return Logger.new(:console).warn("The file logs aren't available on #{@mode} mode") unless @mode == :file time = Time.now.strftime("%Y-%m-%d-%H:%M:%S") FileUtils.mkdir_p File.dirname @write_targets[write_target] File.open(@write_targets[write_target], "w") unless File.exist? @write_targets[write_target] File.open(@write_targets[write_target], "a+") do |file| file.write("#{time} - #{write_target.to_s.upcase} : #{message}\n") end end
Private Instance Methods
console_color(color, message)
click to toggle source
# File lib/advanced_ruby_command_handler/app/logger.rb, line 34 def console_color(color, message) "#{COLORS[color]}#{message}\e[0m" end