Sha256: 818dd6116e53354b2385346601855038a86292f454affe0fdef801fb3aeb4eee
Contents?: true
Size: 1014 Bytes
Versions: 3
Compression:
Stored size: 1014 Bytes
Contents
# frozen_string_literal: true require 'logger' module Truemail class Logger attr_reader :event, :stdout, :file def initialize(event, error_stdout, log_absolute_path) @event = event @stdout = error_stdout @file = log_absolute_path end def push(validator_instance) current_event = Truemail::Log::Event.new(event, validator_instance) return unless current_event.valid? create_logs(current_event.log_level, Truemail::Log::Serializer::Text.call(validator_instance)) end private def init_log_file output_file = Pathname(file) return output_file if output_file.exist? output_file.parent.mkpath && FileUtils.touch(output_file) output_file end def create_logs(log_level, serialized_object) %i[stdout file].each do |output_type| next unless public_send(output_type) ::Logger.new(output_type.eql?(:stdout) ? $stdout : init_log_file).add(log_level) { serialized_object } end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
truemail-1.4.2 | lib/truemail/logger.rb |
truemail-1.4.1 | lib/truemail/logger.rb |
truemail-1.4.0 | lib/truemail/logger.rb |