Class: Vedeu::Log
- Inherits:
-
Object
- Object
- Vedeu::Log
- Defined in:
- lib/vedeu/support/log.rb
Overview
Provides the ability to log anything to the Vedeu log file.
Class Method Summary collapse
- .enabled? ⇒ Boolean private
- .formatted_message(message, time = Time.now) ⇒ String private
-
.log(message:, force: false, type: :info) ⇒ TrueClass
Write a message to the Vedeu log file.
- .log_file ⇒ String private
- .logger ⇒ TrueClass
- .message_type(type) ⇒ String private
- .message_types ⇒ Hash<Symbol => Symbol> private
-
.timestamp(utc_time) ⇒ String
private
Returns a formatted (red, underlined) UTC timestamp, eg.
Class Method Details
.enabled? ⇒ Boolean (private)
117 118 119 |
# File 'lib/vedeu/support/log.rb', line 117 def enabled? Vedeu::Configuration.debug? end |
.formatted_message(message, time = Time.now) ⇒ String (private)
112 113 114 |
# File 'lib/vedeu/support/log.rb', line 112 def (, time = Time.now) [(time.utc.iso8601), , "\n"].join end |
.log(message:, force: false, type: :info) ⇒ TrueClass
Write a message to the Vedeu log file.
96 97 98 |
# File 'lib/vedeu/support/log.rb', line 96 def log(message:, force: false, type: :info) logger.debug([(type), ]) if enabled? || force end |
.log_file ⇒ String (private)
122 123 124 |
# File 'lib/vedeu/support/log.rb', line 122 def log_file Vedeu::Configuration.log end |
.logger ⇒ TrueClass
101 102 103 104 105 106 107 |
# File 'lib/vedeu/support/log.rb', line 101 def logger MonoLogger.new(log_file).tap do |log| log.formatter = proc do |_, time, _, | (, time) end end end |
.message_type(type) ⇒ String (private)
127 128 129 130 131 |
# File 'lib/vedeu/support/log.rb', line 127 def (type) Vedeu::Esc.send(.fetch(type, :default)) do "[#{type}]".ljust(9) end end |
.message_types ⇒ Hash<Symbol => Symbol> (private)
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/vedeu/support/log.rb', line 134 def { config: :yellow, create: :green, debug: :red, drb: :blue, event: :magenta, info: :default, input: :yellow, output: :green, store: :cyan, test: :white, update: :cyan, } end |
.timestamp(utc_time) ⇒ String (private)
Returns a formatted (red, underlined) UTC timestamp, eg. 2014-10-24T12:34:56Z
154 155 156 157 158 159 160 |
# File 'lib/vedeu/support/log.rb', line 154 def (utc_time) return '' if @last_seen == utc_time @last_seen = utc_time "\n\e[4m\e[31m" + utc_time + "\e[39m\e[24m\n" end |