Class: ActFluentLoggerRails::FluentLogger
- Inherits:
-
ActiveSupport::Logger
- Object
- ActiveSupport::Logger
- ActFluentLoggerRails::FluentLogger
- Defined in:
- lib/act-fluent-logger-rails/logger.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
- #add(severity, message = nil, progname = nil, &block) ⇒ Object
- #add_message(severity, message) ⇒ Object
- #close ⇒ Object
- #flush ⇒ Object
- #format_severity(severity) ⇒ Object
-
#initialize(options, level, log_tags) ⇒ FluentLogger
constructor
A new instance of FluentLogger.
- #level ⇒ Object
- #level=(l) ⇒ Object
Constructor Details
#initialize(options, level, log_tags) ⇒ FluentLogger
Returns a new instance of FluentLogger.
35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/act-fluent-logger-rails/logger.rb', line 35 def initialize(, level, ) self.level = level port = [:port] host = [:host] @messages_type = ([:messages_type] || :array).to_sym @tag = [:tag] @fluent_logger = ::Fluent::Logger::FluentLogger.new(nil, host: host, port: port) @severity = 0 @messages = [] @log_tags = @map = {} end |
Instance Method Details
#[](key) ⇒ Object
61 62 63 |
# File 'lib/act-fluent-logger-rails/logger.rb', line 61 def [](key) @map[key] end |
#[]=(key, value) ⇒ Object
65 66 67 |
# File 'lib/act-fluent-logger-rails/logger.rb', line 65 def []=(key, value) @map[key] = value end |
#add(severity, message = nil, progname = nil, &block) ⇒ Object
48 49 50 51 52 53 54 |
# File 'lib/act-fluent-logger-rails/logger.rb', line 48 def add(severity, = nil, progname = nil, &block) return true if severity < level = (block_given? ? block.call : progname) if .blank? return true if .blank? (severity, ) true end |
#add_message(severity, message) ⇒ Object
56 57 58 59 |
# File 'lib/act-fluent-logger-rails/logger.rb', line 56 def (severity, ) @severity = severity if @severity < severity @messages << end |
#close ⇒ Object
94 95 96 |
# File 'lib/act-fluent-logger-rails/logger.rb', line 94 def close @fluent_logger.close end |
#flush ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/act-fluent-logger-rails/logger.rb', line 69 def flush return if @messages.empty? = if @messages_type == :string @messages.join("\n") else @messages end @map[:messages] = @map[:level] = format_severity(@severity) @log_tags.each do |k, v| @map[k] = case v when Proc v.call(@request) when Symbol @request.send(v) else v end rescue :error end @fluent_logger.post(@tag, @map) @severity = 0 @messages.clear @map.clear end |
#format_severity(severity) ⇒ Object
106 107 108 |
# File 'lib/act-fluent-logger-rails/logger.rb', line 106 def format_severity(severity) ActFluentLoggerRails::Logger::SEV_LABEL[severity] || 'ANY' end |
#level ⇒ Object
98 99 100 |
# File 'lib/act-fluent-logger-rails/logger.rb', line 98 def level @level end |
#level=(l) ⇒ Object
102 103 104 |
# File 'lib/act-fluent-logger-rails/logger.rb', line 102 def level=(l) @level = l end |