class AwesomeFluentLogger::Logger
Attributes
logger[R]
Public Class Methods
new(fluent: nil, level: DEBUG, progname: nil, formatter: nil, datetime_format: nil)
click to toggle source
Calls superclass method
# File lib/awesome_fluent_logger/logger.rb, line 9 def initialize(fluent: nil, level: DEBUG, progname: nil, formatter: nil, datetime_format: nil) super(nil, 0, 0, level: level, progname: progname, formatter: formatter, datetime_format: datetime_format) if fluent.is_a?(Hash) tag_prefix = fluent.fetch(:tag_prefix, nil) @logger = ::Fluent::Logger::FluentLogger.new(tag_prefix, **fluent) elsif fluent.respond_to?(:post) @logger = fluent else raise ArgumentError end @default_formatter = Formatter.new @default_formatter.datetime_format = datetime_format end
Public Instance Methods
<<(msg)
click to toggle source
# File lib/awesome_fluent_logger/logger.rb, line 58 def <<(msg) @logger&.post(nil, msg) end
add(severity, message = nil, progname = nil) { || ... }
click to toggle source
# File lib/awesome_fluent_logger/logger.rb, line 25 def add(severity, message = nil, progname = nil) severity ||= UNKNOWN if @logger.nil? or severity < level return true end if progname.nil? progname = @progname end if message.nil? if block_given? message = yield else message = progname progname = @progname end end formatted_severity = format_severity(severity) data = format_message(formatted_severity, Time.now, progname, message) unless data.is_a?(Hash) data = {data: data} end tag = [progname&.+('.'), formatted_severity.downcase].join @logger.post(tag, data) true end
close()
click to toggle source
# File lib/awesome_fluent_logger/logger.rb, line 62 def close @logger&.close end