class Dataflow::Logger
Attributes
prefix[RW]
use_notifications[RW]
Public Class Methods
new(prefix:, use_notifications: false)
click to toggle source
# File lib/dataflow/logger.rb, line 7 def initialize(prefix:, use_notifications: false) @prefix = prefix @use_notifications = use_notifications @@impl = LoggerImpl.new end
Public Instance Methods
error(error:, custom_message: '')
click to toggle source
# File lib/dataflow/logger.rb, line 21 def error(error:, custom_message: '') first_line = "[ERROR => #{error.class}: '#{error.message}']" first_line += " #{custom_message}" if custom_message.present? first_line += ' Backtrace: ' log(first_line) log('--') (error.backtrace || []).each_with_index { |line, idx| log("#{idx}: #{line}") } end
log(str)
click to toggle source
# File lib/dataflow/logger.rb, line 13 def log(str) return if ENV['DATAFLOW_SKIP_LOGGING'] now = DateTime.now.strftime('%y-%m-%d %H:%M:%S') message = "[#{now}][#{trace_id}] #{prefix} | #{str}" logger_impl = @@impl logger_impl.log(message) end
trace_id()
click to toggle source
# File lib/dataflow/logger.rb, line 30 def trace_id (Process.pid + Thread.current.object_id).to_s(16)[-8..-1] end