class SerfHandler
Base class for processing serf events
Attributes
event[R]
name[R]
role[R]
Public Class Methods
new(log_file = nil)
click to toggle source
# File lib/serf_handler.rb, line 9 def initialize(log_file = nil) @logger = create_logger(log_file) set_logging if @logger.is_a? Logger @logger.level = Logger::INFO @name = ENV['SERF_SELF_NAME'] @role = ENV['SERF_TAG_ROLE'] || ENV['SERF_SELF_ROLE'] @event = case ENV['SERF_EVENT'] when 'user' then ENV['SERF_USER_EVENT'] when 'query' then ENV['SERF_QUERY_NAME'] else ENV['SERF_EVENT'].gsub(/-/, '_') end end
Public Instance Methods
create_logger(log_file)
click to toggle source
# File lib/serf_handler.rb, line 29 def create_logger(log_file) if log_file log_file.is_a?(String) ? Logger.new(log_file) : log_file else Logger.new(STDOUT) end end
error(msg)
click to toggle source
# File lib/serf_handler.rb, line 46 def error(msg) @logger.error(msg) end
info(msg)
click to toggle source
# File lib/serf_handler.rb, line 37 def info(msg) @logger.info(msg) end
Also aliased as: log
response(msg)
click to toggle source
# File lib/serf_handler.rb, line 50 def response(msg) if msg.bytesize > 1024 message = 'message exceeds limit of 1024 bytes.' warn message puts message else puts msg end end
set_logging()
click to toggle source
# File lib/serf_handler.rb, line 22 def set_logging @logger.formatter = proc do |sv, datetime, _pn, msg| "[#{datetime.strftime('%Y-%m-%d %H:%M:%S.%L')}][#{sv}] #{msg}\n" end @logger.level = Logger::INFO end
warn(msg)
click to toggle source
# File lib/serf_handler.rb, line 42 def warn(msg) @logger.warn(msg) end