Sha256: 51ceae688b4a11a6101354438c61b8c49b552981b23d5def102c21c15d78f7ca

Contents?: true

Size: 940 Bytes

Versions: 10

Compression:

Stored size: 940 Bytes

Contents

require "logger"
require "singleton"

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

module Imap::Backup
  class Logger
    include Singleton

    def self.logger
      Logger.instance.logger
    end

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

    def self.sanitize_stderr
      sanitizer = 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-9.1.0 lib/imap/backup/logger.rb
imap-backup-9.0.2 lib/imap/backup/logger.rb
imap-backup-9.0.1.rc1 lib/imap/backup/logger.rb
imap-backup-9.0.0 lib/imap/backup/logger.rb
imap-backup-9.0.0.rc1 lib/imap/backup/logger.rb
imap-backup-8.0.2 lib/imap/backup/logger.rb
imap-backup-8.0.1 lib/imap/backup/logger.rb
imap-backup-8.0.0 lib/imap/backup/logger.rb
imap-backup-8.0.0.rc1 lib/imap/backup/logger.rb
imap-backup-7.0.2 lib/imap/backup/logger.rb