Sha256: 24f33959df16ccea398dbf7ab09ad7e421096fe9c51d3c7d369010af75583b6d

Contents?: true

Size: 1.56 KB

Versions: 102

Compression:

Stored size: 1.56 KB

Contents

# frozen_string_literal: true

require 'logger'

module PWN
  module Plugins
    # This plugin is used to instantiate a PWN logger with a custom message format
    module PWNLogger
      # Supported Method Parameters::
      # PWN::Plugins::PWNLogger.create(
      # )

      public_class_method def self.create(opts = {})
        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

      # Author(s):: 0day Inc. <support@0dayinc.com>

      public_class_method def self.authors
        'AUTHOR(S):
          0day Inc. <support@0dayinc.com>
        '
      end

      # Display Usage for this Module

      public_class_method def self.help
        puts "USAGE:
          logger = #{self}.create(
            level: 'optional - logging verbosity :debug|:error|:fatal|:info|:unknown|:warn (Defaults to :info)'
          )
          #{self}.authors
        "
      end
    end
  end
end

Version data entries

102 entries across 102 versions & 1 rubygems

Version Path
pwn-0.5.252 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.251 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.250 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.249 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.248 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.247 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.246 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.245 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.244 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.243 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.242 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.241 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.240 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.239 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.238 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.237 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.236 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.235 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.234 lib/pwn/plugins/pwn_logger.rb
pwn-0.5.233 lib/pwn/plugins/pwn_logger.rb