Class: SerfHandler
- Inherits:
-
Object
- Object
- SerfHandler
- Defined in:
- lib/serf_handler.rb
Overview
Base class for processing serf events
Direct Known Subclasses
Instance Attribute Summary collapse
-
#event ⇒ Object
readonly
Returns the value of attribute event.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#role ⇒ Object
readonly
Returns the value of attribute role.
Instance Method Summary collapse
- #create_logger(log_file) ⇒ Object
- #error(msg) ⇒ Object
- #info(msg) ⇒ Object (also: #log)
-
#initialize(log_file = nil) ⇒ SerfHandler
constructor
A new instance of SerfHandler.
- #response(msg) ⇒ Object
- #set_logging ⇒ Object
- #warn(msg) ⇒ Object
Constructor Details
#initialize(log_file = nil) ⇒ SerfHandler
Returns a new instance of SerfHandler.
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/serf_handler.rb', line 10 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 |
Instance Attribute Details
#event ⇒ Object (readonly)
Returns the value of attribute event.
8 9 10 |
# File 'lib/serf_handler.rb', line 8 def event @event end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
8 9 10 |
# File 'lib/serf_handler.rb', line 8 def name @name end |
#role ⇒ Object (readonly)
Returns the value of attribute role.
8 9 10 |
# File 'lib/serf_handler.rb', line 8 def role @role end |
Instance Method Details
#create_logger(log_file) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/serf_handler.rb', line 30 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) ⇒ Object
47 48 49 |
# File 'lib/serf_handler.rb', line 47 def error(msg) @logger.error(msg) end |
#info(msg) ⇒ Object Also known as: log
38 39 40 |
# File 'lib/serf_handler.rb', line 38 def info(msg) @logger.info(msg) end |
#response(msg) ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'lib/serf_handler.rb', line 51 def response(msg) if msg.bytesize > 1024 = 'message exceeds limit of 1024 bytes.' warn puts else puts msg end end |
#set_logging ⇒ Object
23 24 25 26 27 28 |
# File 'lib/serf_handler.rb', line 23 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) ⇒ Object
43 44 45 |
# File 'lib/serf_handler.rb', line 43 def warn(msg) @logger.warn(msg) end |