Sha256: d678b64891f990b2046250411b66a78eece1ae058e452bafe7a7939b98e36368

Contents?: true

Size: 718 Bytes

Versions: 3

Compression:

Stored size: 718 Bytes

Contents

# frozen_string_literal: true

require 'logger'
require_relative 'version'

module Netsoul
  module Logging # :nodoc:
    PREFIX = "[Netsoul-Ruby:v#{Netsoul::VERSION}]".freeze

    class << self
      attr_writer :logger
    end

    def self.logger
      @logger ||= ::Logger.new(STDOUT).tap do |logger|
        $stdout.sync = true
        logger.level = Logger::INFO
        logger.formatter = proc do |severity, datetime, _progname, msg|
          "#{severity} [#{datetime.strftime('%Y-%m-%d %H:%M:%S.%L'.freeze)}] #{msg}\n"
        end
      end
    end

    private

    def log(level, message)
      Netsoul::Logging.logger.send(level.to_sym, "#{PREFIX} #{message}") if Netsoul::Logging.logger
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
netsoul-2.4.5 lib/netsoul/logging.rb
netsoul-2.4.4 lib/netsoul/logging.rb
netsoul-2.4.3 lib/netsoul/logging.rb