Sha256: cf523faddf8825aee88453f2f05dc0893c515f0dd57d1dc7fc49283021cb0b72

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

module Cryptum
  # This plugin is used to instantiate a Cryptum logger with a custom message format
  module Log
    # Supported Method Parameters::
    # Cryptum::Log.create(
    # )
    public_class_method def self.create
      logger = Logger.new($stdout)
      level = opts[:level]

      case level.to_s.downcase.to_sym
      when :debug
        logger.level = Logger::DEBUG
      when :error
        logger.level = Logger::ERROR
      when :fatal
        logger.level = Logger::FATAL
      when :unknown
        logger.level = Logger::UNKNOWN
      when :warn
        logger.level = Logger::WARN
      else
        logger.level = Logger::INFO
      end

      logger.datetime_format = '%Y-%m-%d %H:%M:%S.%N'

      logger.formatter = proc do |severity, _datetime, _progname, msg|
        # TODO: Include datetime & progname vars
        "[#{severity}] #{msg}\n"
      end

      logger
    rescue StandardError => e
      raise e
    end

    # Display Usage for this Module

    public_class_method def self.help
      puts "USAGE:
        logger = #{self}.create()
      "
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cryptum-0.0.386 lib/cryptum/log.rb
cryptum-0.0.385 lib/cryptum/log.rb
cryptum-0.0.384 lib/cryptum/log.rb
cryptum-0.0.383 lib/cryptum/log.rb