lib/filum/log_formatter.rb in filum-1.0.3 vs lib/filum/log_formatter.rb in filum-2.0.0
- old
+ new
@@ -1,30 +1,35 @@
require 'logger'
module Filum
class LogFormatter < Logger::Formatter
+ def initialize(options = {})
+ @context_id_length = options.fetch(:context_id_length, 6)
+ @filename_length = options.fetch(:filename_length, 20)
+ end
+
def call(severity, timestamp, progname, msg)
"#{timestamp} #{formatted_thread_id} [#{formatted_context_id}] #{severity.to_s.ljust(5)} | #{formatted_calling_file_and_line} | #{msg}\n"
end
private
def formatted_context_id
- context_id.ljust(Filum.config.context_id_length)
+ context_id.ljust(@context_id_length)
end
def context_id
Thread.current[:context_id].to_s
end
def formatted_calling_file_and_line
- filename_length = Filum.config.filename_length
+ filename_length = @filename_length
truncated_filename_length = filename_length - 3
_, file, line = calling_code.match(/([\w\.]+)\:(\d+)\:in /).to_a
- file = "#{file[0,truncated_filename_length]}..." if file.length >= filename_length
+ file = "#{file[0,truncated_filename_length]}..." if file.length >= filename_length
"#{file}:#{line.ljust(3)}".ljust(filename_length + 4)
end
-
+
def formatted_thread_id
"t-#{thread_id}".ljust(12)
end
def calling_code