mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/logger.rb: new file. Logger, formerly called devel-logger or
Devel::Logger. * sample/logger/*: new file. samples of logger.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ea2e8d3592
commit
9c219837b3
6 changed files with 684 additions and 0 deletions
46
sample/logger/app.rb
Normal file
46
sample/logger/app.rb
Normal file
|
@ -0,0 +1,46 @@
|
|||
#!/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) occured.'
|
||||
puts 'See "app.log".'
|
||||
end
|
27
sample/logger/log.rb
Normal file
27
sample/logger/log.rb
Normal file
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
require 'logger'
|
||||
|
||||
log = Logger.new(STDERR)
|
||||
|
||||
def do_log(log)
|
||||
log.debug('do_log1') { "debug" }
|
||||
log.info('do_log2') { "info" }
|
||||
log.warn('do_log3') { "warn" }
|
||||
log.error('do_log4') { "error" }
|
||||
log.fatal('do_log6') { "fatal" }
|
||||
log.unknown('do_log7') { "unknown" }
|
||||
end
|
||||
|
||||
log.level = Logger::DEBUG # Default.
|
||||
do_log(log)
|
||||
|
||||
puts "Set severity threshold 'WARN'."
|
||||
|
||||
log.level = Logger::WARN
|
||||
do_log(log)
|
||||
|
||||
puts "Change datetime format. Thanks to Daniel Berger."
|
||||
|
||||
log.datetime_format = "%d-%b-%Y@%H:%M:%S"
|
||||
do_log(log)
|
26
sample/logger/shifting.rb
Normal file
26
sample/logger/shifting.rb
Normal file
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
require 'logger'
|
||||
|
||||
logfile = 'shifting.log'
|
||||
# Max 3 age ... logShifting.log, logShifting.log.0, and logShifting.log.1
|
||||
shift_age = 3
|
||||
# Shift log file about for each 1024 bytes.
|
||||
shift_size = 1024
|
||||
|
||||
log = Logger.new(logfile, shift_age, shift_size)
|
||||
|
||||
def do_log(log)
|
||||
log.debug('do_log1') { 'd' * rand(100) }
|
||||
log.info('do_log2') { 'i' * rand(100) }
|
||||
log.warn('do_log3') { 'w' * rand(100) }
|
||||
log.error('do_log4') { 'e' * rand(100) }
|
||||
log.fatal('do_log5') { 'f' * rand(100) }
|
||||
log.unknown('do_log6') { 'u' * rand(100) }
|
||||
end
|
||||
|
||||
(1..10).each do
|
||||
do_log(log)
|
||||
end
|
||||
|
||||
puts 'See shifting.log and shifting.log.[01].'
|
Loading…
Add table
Add a link
Reference in a new issue