Module: PaulBunyan

Defined in:
lib/paul_bunyan.rb,
lib/paul_bunyan/level.rb,
lib/paul_bunyan/railtie.rb,
lib/paul_bunyan/version.rb,
lib/paul_bunyan/rails_ext.rb,
lib/paul_bunyan/log_relayer.rb,
lib/paul_bunyan/json_formatter.rb,
lib/paul_bunyan/tagged_logging.rb,
lib/paul_bunyan/text_formatter.rb,
lib/paul_bunyan/metadata_logging.rb,
lib/paul_bunyan/railtie/log_subscriber.rb

Overview

Example Usage:

class MyClass
  include PaulBunyan

  def initialize
    logger.info{ "something is working!" }
  end
end

Defined Under Namespace

Modules: Level, MetadataLogging, RailsExt, TaggedLogging Classes: Error, FileTransfer, JSONFormatter, LogRelayer, LogSubscriber, Railtie, RenderedTemplate, RequestAggregator, TextFormatter, UnknownFormatterError, UnknownLevelError

Constant Summary collapse

ANSI_REGEX =
/(?:\e\[|\u009b)(?:\d{1,3}(?:;\d{0,3})*)?[0-9A-MRcf-npqrsuy]/.freeze
VERSION =
'1.6.0'
INTERNAL_PARAMS =
ActionController::LogSubscriber::INTERNAL_PARAMS
VIEWS_PATTERN =
ActionView::LogSubscriber::VIEWS_PATTERN

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.default_formatter_typeObject

Returns the value of attribute default_formatter_type.



34
35
36
# File 'lib/paul_bunyan.rb', line 34

def default_formatter_type
  @default_formatter_type
end

Class Method Details

.add_logger(logger) ⇒ Object



59
60
61
62
63
# File 'lib/paul_bunyan.rb', line 59

def add_logger(logger)
  @logger ||= LogRelayer.new
  @logger.add_logger(logger)
  logger
end

.create_logger(logdev, shift_age = 0, shift_size = 1048576, formatter_type: PaulBunyan.default_formatter_type) ⇒ Object



51
52
53
54
55
56
57
# File 'lib/paul_bunyan.rb', line 51

def create_logger(logdev, shift_age = 0, shift_size = 1048576, formatter_type: PaulBunyan.default_formatter_type)
  logger = Logger.new(logdev, shift_age, shift_size)
  logger.formatter = default_formatter(formatter_type) unless formatter_type.nil?
  logger.extend(TaggedLogging) if logger.formatter.respond_to?(:tagged)
  logger.extend(MetadataLogging) if logger.formatter.respond_to?(:with_metadata)
  add_logger(logger)
end

.loggerObject



46
47
48
49
# File 'lib/paul_bunyan.rb', line 46

def logger
  create_logger(STDOUT) unless @logger
  @logger
end

.remove_logger(logger) ⇒ Object



65
66
67
# File 'lib/paul_bunyan.rb', line 65

def remove_logger(logger)
  @logger.remove_logger(logger) if @logger
end

.strip_ansi(value) ⇒ Object



38
39
40
41
42
43
44
# File 'lib/paul_bunyan.rb', line 38

def strip_ansi(value)
  if value.respond_to?(:to_str)
    value.to_str.gsub(ANSI_REGEX, '')
  elsif value
    value.gsub(ANSI_REGEX, '')
  end
end

Instance Method Details

#loggerObject



29
30
31
# File 'lib/paul_bunyan.rb', line 29

def logger
  PaulBunyan.logger
end