lib/vedeu/support/log.rb in vedeu-0.4.23 vs lib/vedeu/support/log.rb in vedeu-0.4.24

- old
+ new

@@ -92,11 +92,12 @@ # @param type [Symbol] Colour code messages in the log file depending # on their source. # # @return [TrueClass] def log(message:, force: false, type: :info) - logger.debug([message_type(type), message]) if enabled? || force + logger.debug([message_type(type), + message_body(type, message)]) if enabled? || force end # @return [TrueClass] def logger MonoLogger.new(log_file).tap do |log| @@ -106,10 +107,12 @@ end end private + # @param message [String] + # @param time [Time] # @return [String] def formatted_message(message, time = Time.now) [timestamp(time.utc.iso8601), message, "\n"].join end @@ -121,36 +124,47 @@ # @return [String] def log_file Vedeu::Configuration.log end + # @param type [Symbol] The type of log message. + # @param body [String] The log message itself. # @return [String] + def message_body(type, body) + Vedeu::Esc.send(message_types.fetch(type, :default).last) do + body + end + end + + # @param type [Symbol] The type of log message. + # @return [String] def message_type(type) - Vedeu::Esc.send(message_types.fetch(type, :default)) do + Vedeu::Esc.send(message_types.fetch(type, :default).first) do "[#{type}]".ljust(9) end end # @return [Hash<Symbol => Symbol>] def message_types { - config: :yellow, - create: :green, - debug: :red, - drb: :blue, - event: :magenta, - info: :default, - input: :yellow, - output: :green, - store: :cyan, - test: :white, - update: :cyan, + config: [:light_yellow, :yellow], + create: [:light_green, :green], + debug: [:light_red, :red], + drb: [:light_blue, :blue], + event: [:light_magenta, :magenta], + info: [:white, :default], + input: [:light_yellow, :yellow], + output: [:light_green, :green], + store: [:light_cyan, :cyan], + test: [:light_white, :white], + update: [:light_cyan, :cyan], } end # Returns a formatted (red, underlined) UTC timestamp, # eg. 2014-10-24T12:34:56Z # + # @param utc_time [String] # @return [String] def timestamp(utc_time) return '' if @last_seen == utc_time @last_seen = utc_time