Class: Fluent::PluginLogger

Inherits:
Log
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/fluent/log.rb

Overview

PluginLogger has own log level separated from global $log object. This class enables log_level option in each plugin.

PluginLogger has same functionality as Log but some methods are forwarded to internal logger for keeping logging action consistency in the process, e.g. color, event, etc.

Direct Known Subclasses

Test::TestLogger

Constant Summary

Constants inherited from Log

Log::LEVEL_DEBUG, Log::LEVEL_ERROR, Log::LEVEL_FATAL, Log::LEVEL_INFO, Log::LEVEL_TEXT, Log::LEVEL_TRACE, Log::LEVEL_WARN, Log::LOG_EVENT_LABEL, Log::LOG_EVENT_TAG_PREFIX, Log::LOG_TYPES, Log::LOG_TYPE_DEFAULT, Log::LOG_TYPE_SUPERVISOR, Log::LOG_TYPE_WORKER0

Instance Attribute Summary

Attributes inherited from Log

#format, #level, #log_event_enabled, #optional_attrs, #optional_header, #out, #time_format

Instance Method Summary collapse

Methods inherited from Log

#caller_line, #debug, #debug_backtrace, #disable_events, #dump_stacktrace, #dup, #enable_color?, #enable_debug, #enable_event, #error, #error_backtrace, #event, event_tags, #fatal, #fatal_backtrace, #flush, #get_worker_id, #info, #info_backtrace, #log_type, #logdev=, #on_debug, #on_error, #on_fatal, #on_info, #on_trace, #on_warn, #puts, #reopen!, #reset, #skipped_type?, str_to_level, #trace, #trace_backtrace, #warn, #warn_backtrace, #write

Constructor Details

#initialize(logger) ⇒ PluginLogger

Returns a new instance of PluginLogger.



515
516
517
518
519
520
521
522
523
524
525
526
# File 'lib/fluent/log.rb', line 515

def initialize(logger)
  @logger = logger
  @level = @logger.level
  @format = nil
  @depth_offset = 2
  if logger.instance_variable_defined?(:@suppress_repeated_stacktrace)
    @suppress_repeated_stacktrace = logger.instance_variable_get(:@suppress_repeated_stacktrace)
  end

  self.format = @logger.format
  enable_color @logger.enable_color?
end

Instance Method Details

#enable_color(b = true) ⇒ Object



540
541
542
543
# File 'lib/fluent/log.rb', line 540

def enable_color(b = true)
  orig_enable_color b
  @logger.enable_color b
end

#format=(fmt) ⇒ Object



535
536
537
538
# File 'lib/fluent/log.rb', line 535

def format=(fmt)
  self.orig_format = fmt
  @logger.format = fmt
end

#level=(log_level_str) ⇒ Object



528
529
530
# File 'lib/fluent/log.rb', line 528

def level=(log_level_str)
  @level = Log.str_to_level(log_level_str)
end

#orig_enable_colorObject



533
# File 'lib/fluent/log.rb', line 533

alias orig_enable_color enable_color

#orig_format=Object



532
# File 'lib/fluent/log.rb', line 532

alias orig_format= format=