Sha256: b11dda9e76043029fbc60d502fd6505301c58fa9db11c2bac0da449542f12921
Contents?: true
Size: 1009 Bytes
Versions: 3
Compression:
Stored size: 1009 Bytes
Contents
require "json" require "socket" module LogjamAgent class Request attr_reader :fields @@hostname = Socket.gethostname.split('.').first def initialize(app, env, logger, initial_fields) @logger = logger @forwarder = Forwarders.get(app, env) @lines = [] @fields = initial_fields.merge(:host => @@hostname, :process_id => Process.pid, :lines => @lines) end def add_line(severity, timestamp, message) @lines << [severity, format_time(timestamp), message] end def forward engine = @fields.delete(:engine) @forwarder.send(@fields.to_json, engine) rescue Exception => e handle_forwarding_error(e) end private def format_time(t) # iso time with microseconds t.strftime("%Y-%m-%dT%H:%M:%S.#{t.usec}") end def handle_forwarding_error(exception) @logger.error exception.to_s LogjamAgent.error_handler.call(exception) rescue Exception # swallow all exceptions end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
logjam_agent-0.0.4 | lib/logjam_agent/request.rb |
logjam_agent-0.0.3 | lib/logjam_agent/request.rb |
logjam_agent-0.0.2 | lib/logjam_agent/request.rb |