Class | Logger::Application |
In: |
lib/logger.rb
|
Parent: | Object |
Application — Add logging support to your application.
class FooApp < Application def initialize(foo_app, application_specific, arguments) super('FooApp') # Name of the application. end def run ... log(WARN, 'warning', 'my_method1') ... @log.error('my_method2') { 'Error!' } ... end end status = FooApp.new(....).start
appname | [R] | |
logdev | [R] |
Application.new(appname = '')
appname: | Name of the application. |
Create an instance. Log device is STDERR by default. This can be changed with set_log.
# File lib/logger.rb, line 645 645: def initialize(appname = nil) 646: @appname = appname 647: @log = Logger.new(STDERR) 648: @log.progname = @appname 649: @level = @log.level 650: end
See Logger#add. This application‘s appname is used.
# File lib/logger.rb, line 693 693: def log(severity, message = nil, &block) 694: @log.add(severity, message, @appname, &block) if @log 695: end
Sets the log device for this application. See the class Logger for an explanation of the arguments.
# File lib/logger.rb, line 672 672: def set_log(logdev, shift_age = 0, shift_size = 1024000) 673: @log = Logger.new(logdev, shift_age, shift_size) 674: @log.progname = @appname 675: @log.level = @level 676: end
Start the application. Return the status code.
# File lib/logger.rb, line 655 655: def start 656: status = -1 657: begin 658: log(INFO, "Start of #{ @appname }.") 659: status = run 660: rescue 661: log(FATAL, "Detected an exception. Stopping ... #{$!} (#{$!.class})\n" << $@.join("\n")) 662: ensure 663: log(INFO, "End of #{ @appname }. (status: #{ status.to_s })") 664: end 665: status 666: end