Sha256: f6e9cac854be0f4d06bc228133c8d81176382eda2e7b36449fec51731d595d1f

Contents?: true

Size: 1.02 KB

Versions: 10

Compression:

Stored size: 1.02 KB

Contents

require "logger"
require "singleton"

require "imap/backup/configuration"
require "text/sanitizer"

module Imap; end

module Imap::Backup
  class Logger
    include Singleton

    def self.logger
      Logger.instance.logger
    end

    def self.setup_logging(options = {})
      copy = options.clone
      quiet = copy.delete(:quiet)
      verbose = copy.delete(:verbose)
      level =
        case
        when quiet
          ::Logger::Severity::UNKNOWN
        when verbose
          ::Logger::Severity::DEBUG
        else
          ::Logger::Severity::INFO
        end
      logger.level = level
      debug = level == ::Logger::Severity::DEBUG
      Net::IMAP.debug = debug

      copy
    end

    def self.sanitize_stderr
      sanitizer = Text::Sanitizer.new($stdout)
      previous_stderr = $stderr
      $stderr = sanitizer
      yield
    ensure
      sanitizer.flush
      $stderr = previous_stderr
    end

    attr_reader :logger

    def initialize
      @logger = ::Logger.new($stdout)
      $stdout.sync = true
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
imap-backup-13.1.0 lib/imap/backup/logger.rb
imap-backup-13.0.0 lib/imap/backup/logger.rb
imap-backup-12.1.0 lib/imap/backup/logger.rb
imap-backup-12.0.0 lib/imap/backup/logger.rb
imap-backup-11.1.0 lib/imap/backup/logger.rb
imap-backup-11.1.0.rc1 lib/imap/backup/logger.rb
imap-backup-11.0.1 lib/imap/backup/logger.rb
imap-backup-11.0.0 lib/imap/backup/logger.rb
imap-backup-11.0.0.rc1 lib/imap/backup/logger.rb
imap-backup-10.0.1 lib/imap/backup/logger.rb