Class: AdvancedRubyCommandHandler::Logger
- Inherits:
-
Object
- Object
- AdvancedRubyCommandHandler::Logger
- Defined in:
- lib/advanced_ruby_command_handler/app/logger.rb
Constant Summary collapse
- COLORS =
{ :default => "\e[38m", :white => "\e[39m", :black => "\e[30m", :red => "\e[31m", :green => "\e[32m", :brown => "\e[33m", :blue => "\e[34m", :magenta => "\e[35m", :cyan => "\e[36m", :gray => "\e[37m", :yellow => "\e[33m" }.freeze
- MODES =
{ :info => :cyan, :error => :red, :warn => :yellow, :check => :green }.freeze
Instance Attribute Summary collapse
-
#mode ⇒ Object
readonly
Returns the value of attribute mode.
-
#write_targets ⇒ Object
Returns the value of attribute write_targets.
Instance Method Summary collapse
-
#initialize(mode = :console, write_targets = { :errors => "logs/errors.txt", :informations => "logs/infos.txt" }) ⇒ Logger
constructor
A new instance of Logger.
- #write(message, write_target = :informations) ⇒ Object
Constructor Details
#initialize(mode = :console, write_targets = { :errors => "logs/errors.txt", :informations => "logs/infos.txt" }) ⇒ Logger
Returns a new instance of Logger.
29 30 31 32 |
# 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 |
Instance Attribute Details
#mode ⇒ Object (readonly)
Returns the value of attribute mode.
7 8 9 |
# File 'lib/advanced_ruby_command_handler/app/logger.rb', line 7 def mode @mode end |
#write_targets ⇒ Object
Returns the value of attribute write_targets.
8 9 10 |
# File 'lib/advanced_ruby_command_handler/app/logger.rb', line 8 def write_targets @write_targets end |
Instance Method Details
#write(message, write_target = :informations) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/advanced_ruby_command_handler/app/logger.rb', line 38 def write(, 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} : #{}\n") end end |