diff options
author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-18 06:31:25 +0000 |
---|---|---|
committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-18 06:31:25 +0000 |
commit | 9c219837b3b275fdd2cba39d23050ecfe1c38e97 (patch) | |
tree | 461e98568e32b6bbd39ba683620f976c5def73d3 /sample | |
parent | ea2e8d3592aa35148da0c28f99d6a74855c5b585 (diff) |
* 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
Diffstat (limited to 'sample')
-rw-r--r-- | sample/logger/app.rb | 46 | ||||
-rw-r--r-- | sample/logger/log.rb | 27 | ||||
-rw-r--r-- | sample/logger/shifting.rb | 26 |
3 files changed, 99 insertions, 0 deletions
diff --git a/sample/logger/app.rb b/sample/logger/app.rb new file mode 100644 index 0000000000..924bcba4b0 --- /dev/null +++ b/sample/logger/app.rb @@ -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 diff --git a/sample/logger/log.rb b/sample/logger/log.rb new file mode 100644 index 0000000000..aab80e462e --- /dev/null +++ b/sample/logger/log.rb @@ -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) diff --git a/sample/logger/shifting.rb b/sample/logger/shifting.rb new file mode 100644 index 0000000000..bd8852a4ae --- /dev/null +++ b/sample/logger/shifting.rb @@ -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].' |