Sha256: 6d4a96591cd4f5249e7a9328a213b1aec4b3edb71c449e1bcde71cf282b2bcf8

Contents?: true

Size: 849 Bytes

Versions: 7

Compression:

Stored size: 849 Bytes

Contents

# -*- coding: UTF-8 -*-
#
# Copyright 2013 whiteleaf. All rights reserved.
#

require "singleton"
require "stringio"

module LoggerModule
  def initialize
    super
    @is_silent = false
  end

  def silent=(enable)
    @is_silent = !!enable
  end

  def silent
    @is_silent
  end

  def save(path)
    File.write(path, string)
  end
end

class Logger < StringIO
  include Singleton
  include LoggerModule
  
  def self.get
    instance
  end

  def write(str)
    super
    unless @is_silent
      STDOUT.write(str)
    end
  end
end

class LoggerError < StringIO
  include Singleton
  include LoggerModule
  
  def self.get
    instance
  end

  def write(str)
    super
    unless @is_silent
      STDERR.write(str)
    end
  end
end

$stdout = Logger.get
$stderr = LoggerError.get

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
narou-1.1.1 lib/logger.rb
narou-1.1.0 lib/logger.rb
narou-1.1.0.rc2 lib/logger.rb
narou-1.1.0.rc1 lib/logger.rb
narou-1.0.2 lib/logger.rb
narou-1.0.1 lib/logger.rb
narou-1.0.0 lib/logger.rb