Skip to content

Instantly share code, notes, and snippets.

@jensendarren
Created January 8, 2015 12:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jensendarren/a4f68cbc526257ab901b to your computer and use it in GitHub Desktop.
Save jensendarren/a4f68cbc526257ab901b to your computer and use it in GitHub Desktop.
An example of using a file Logger in Ruby
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