mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			883 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			883 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
#!/usr/bin/env ruby
 | 
						|
 | 
						|
require 'logger'
 | 
						|
 | 
						|
class MyApp < Logger::Application
 | 
						|
  def initialize(a, b, c)
 | 
						|
    super('MyApp')
 | 
						|
 | 
						|
    # Set logDevice here.
 | 
						|
    logfile = 'app.log'
 | 
						|
    self.log = logfile
 | 
						|
    self.level = INFO
 | 
						|
 | 
						|
    # Initialize your application...
 | 
						|
    @a = a
 | 
						|
    @b = b
 | 
						|
    @c = c
 | 
						|
  end
 | 
						|
 | 
						|
  def run
 | 
						|
    @log.info  { 'Started.' }
 | 
						|
 | 
						|
    @log.info  { "This block isn't evaled because 'debug' is not severe here." }
 | 
						|
    @log.debug { "Result = " << foo(0) }
 | 
						|
    @log.info  { "So nothing is dumped." }
 | 
						|
 | 
						|
    @log.info  { "This block is evaled because 'info' is enough severe here." }
 | 
						|
    @log.info  { "Result = " << foo(0) }
 | 
						|
    @log.info  { "Above causes exception, so not reached here." }
 | 
						|
 | 
						|
    @log.info  { 'Finished.' }
 | 
						|
  end
 | 
						|
 | 
						|
private
 | 
						|
 | 
						|
  def foo(var)
 | 
						|
    1 / var
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
status = MyApp.new(1, 2, 3).start
 | 
						|
 | 
						|
if status != 0
 | 
						|
  puts 'Some error(s) occurred.'
 | 
						|
  puts 'See "app.log".'
 | 
						|
end
 |