Class: Makit::Logging::Formatters::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/makit/logging/formatters/base.rb

Overview

Base class for all logging formatters

Formatters handle the conversion of log requests into formatted strings that can be written to various outputs (console, files, etc.). This separates formatting concerns from output routing concerns.

Examples:

Creating a custom formatter

class CustomFormatter < Base
  def format(log_request)
    "#{log_request.level.upcase}: #{log_request.message}"
  end
end

Instance Method Summary collapse

Instance Method Details

#configHash

Get formatter configuration

Returns:

  • (Hash)

    formatter configuration



30
31
32
33
34
35
# File 'lib/makit/logging/formatters/base.rb', line 30

def config
  {
    name: self.class.name.split("::").last,
    type: self.class.name,
  }
end

#format(log_request) ⇒ String

Format a log request into a string

Parameters:

  • log_request (LogRequest)

    the log request to format

Returns:

  • (String)

    the formatted log entry

Raises:

  • (NotImplementedError)


23
24
25
# File 'lib/makit/logging/formatters/base.rb', line 23

def format(log_request)
  raise NotImplementedError, "Subclasses must implement #format"
end