Sha256: 9d689fae0a80bd0709077fe9a200af6d925c2d219b3aaaa6961e693cab6f47fe
Contents?: true
Size: 955 Bytes
Versions: 9
Compression:
Stored size: 955 Bytes
Contents
require 'semlogr/templates/parser' require 'semlogr/properties/output_properties' require 'semlogr/templates/property_token' module Semlogr module Formatters class TextFormatter DEFAULT_TEMPLATE = "[{timestamp}] {severity}: {message}\n{error}".freeze def initialize(template: DEFAULT_TEMPLATE) @template = Templates::Parser.parse(template) end def format(log_event) output = '' output_properties = Properties::OutputProperties.create(log_event) @template.tokens.each do |token| case token when Templates::PropertyToken if token.property_name == :message log_event.render(output) elsif output_properties[token.property_name] token.render(output, output_properties) end else token.render(output, output_properties) end end output end end end end
Version data entries
9 entries across 9 versions & 1 rubygems