Class: LogjamAgent::BufferedLogger
Instance Method Summary
collapse
#finish_request, #request, #request=, #start_request
broadcast, original_broadcast
Constructor Details
Returns a new instance of BufferedLogger.
33
34
35
36
37
|
# File 'lib/logjam_agent/buffered_logger.rb', line 33
def initialize(*args)
super(*args)
self.formatter = Logger::Formatter.new
end
|
Instance Method Details
#add(severity, message = nil, progname = nil, &block) ⇒ Object
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/logjam_agent/buffered_logger.rb', line 44
def add(severity, message = nil, progname = nil, &block)
return if level > severity
message = progname if message.nil?
progname = nil
message ||= block.call || '' if block
request = LogjamAgent.request
if message.is_a?(Exception)
request.add_exception(message.class.to_s, severity) if request
message = format_exception(message)
else
message = message.to_s
if request && severity >= Logger::ERROR && (e = detect_logged_exception(message))
request.add_exception(e)
end
end
log_to_log_device = LogjamAgent.log_to_log_device?(severity, message)
log_to_log_device = false if request && request.ignored?
attributes = formatter.render_attributes
message = "[#{attributes}] #{message}" if attributes
time = Time.now
if log_to_log_device && !SelectiveLogging.logjam_only?
formatted_message = formatter.call(format_severity(severity), time, progname, message)
@logdev.write(formatted_message) if @logdev
end
request.add_line(severity, time, message) if request && !SelectiveLogging.logdevice_only?
message
end
|
39
40
41
42
|
# File 'lib/logjam_agent/buffered_logger.rb', line 39
def formatter=(formatter)
super
@formatter.extend LoggingAttributes
end
|
#logdev=(log_device) ⇒ Object
72
73
74
75
|
# File 'lib/logjam_agent/buffered_logger.rb', line 72
def logdev=(log_device)
raise "cannot connect logger to new log device" unless log_device.respond_to?(:write)
@logdev = log_device
end
|