Created
January 8, 2015 12:47
-
-
Save jensendarren/a4f68cbc526257ab901b to your computer and use it in GitHub Desktop.
An example of using a file Logger in Ruby
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'logger' | |
class CoffeeShop | |
attr_reader :std_logger, :file_logger | |
def initialize(name) | |
@name = name | |
@menu = [] | |
@std_logger = Logger.new(STDOUT) | |
@file_logger = Logger.new('./coffee_shop.log') | |
end | |
def introduce_coffee(coffee) | |
log "introducing a new coffee #{coffee}" | |
@menu.push(coffee) | |
end | |
def withdraw_coffee(coffee) | |
log "withdrawing a new coffee #{coffee}" | |
@menu.delete(coffee) | |
end | |
def log(message, level=Logger::INFO) | |
std_logger.add level, message, "#{self.class} (#{@name})" | |
file_logger.add level, message, "#{self.class} (#{@name})" | |
end | |
end | |
shop = CoffeeShop.new("Costa") | |
shop.introduce_coffee("Angkorian") | |
shop.introduce_coffee("Vietnamese") | |
shop.withdraw_coffee("Angkorian") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment