| 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 670
670: def initialize(appname = nil)
671: @appname = appname
672: @log = Logger.new(STDERR)
673: @log.progname = @appname
674: @level = @log.level
675: end
See Logger#add. This application’s appname is used.
# File lib/logger.rb, line 718
718: def log(severity, message = nil, &block)
719: @log.add(severity, message, @appname, &block) if @log
720: end
Sets the log device for this application. See the classes Logger and Logger::LogDevice for an explanation of the arguments.
# File lib/logger.rb, line 697
697: def set_log(logdev, shift_age = 0, shift_size = 1024000)
698: @log = Logger.new(logdev, shift_age, shift_size)
699: @log.progname = @appname
700: @log.level = @level
701: end
Start the application. Return the status code.
# File lib/logger.rb, line 680
680: def start
681: status = -1
682: begin
683: log(INFO, "Start of #{ @appname }.")
684: status = run
685: rescue
686: log(FATAL, "Detected an exception. Stopping ... #{$!} (#{$!.class})\n" << $@.join("\n"))
687: ensure
688: log(INFO, "End of #{ @appname }. (status: #{ status.to_s })")
689: end
690: status
691: end