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 private
-
.timestamp(utc_time) ⇒ String
private
Returns a formatted (red, underlined) UTC timestamp, eg.
Class Method Details
.enabled? ⇒ Boolean (private)
130 131 132 |
# File 'lib/vedeu/support/log.rb', line 130 def enabled? Vedeu::Configuration.debug? end |
.formatted_message(message, time = Time.now) ⇒ String (private)
125 126 127 |
# File 'lib/vedeu/support/log.rb', line 125 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.
109 110 111 |
# File 'lib/vedeu/support/log.rb', line 109 def log(message:, force: false, type: :info) logger.debug([(type), ]) if enabled? || force end |
.log_file ⇒ String (private)
135 136 137 |
# File 'lib/vedeu/support/log.rb', line 135 def log_file Vedeu::Configuration.log end |
.logger ⇒ TrueClass
114 115 116 117 118 119 120 |
# File 'lib/vedeu/support/log.rb', line 114 def logger MonoLogger.new(log_file).tap do |log| log.formatter = proc do |_, time, _, | (, time) end end end |
.message_type(type) ⇒ String (private)
140 141 142 |
# File 'lib/vedeu/support/log.rb', line 140 def (type) Esc.send(.fetch(type, :default)) { "[#{type}]".ljust(9) } end |
.message_types ⇒ Hash (private)
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
# File 'lib/vedeu/support/log.rb', line 145 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
165 166 167 168 169 170 171 |
# File 'lib/vedeu/support/log.rb', line 165 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 |