Description
Application — Add logging support to your application.
Usage
-
Define your application class as a sub-class of this class.
-
Override the
run
method in your class to do many things. -
Instantiate it and invoke start.
Example
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
Methods
Included Modules
Attributes
[R] | appname | Name of the application given at initialize. |
Class Public methods
Application.new(appname = '')
Link
Args
- appname
-
Name of the application.
Description
Create an instance. Log device is STDERR
by default. This
can be changed with set_log.
Instance Public methods
log(severity, message = nil, &block)
Link
See Logger#add. This
application's appname
is used.
log=(logdev)
Link
logger()
Link
set_log(logdev, shift_age = 0, shift_size = 1024000)
Link
Sets the log device for this application. See Logger.new
for
an explanation of the arguments.
start()
Link
Start the application. Return the status code.
# File lib/logger.rb, line 738 def start status = -1 begin log(INFO, "Start of #{ @appname }.") status = run rescue log(FATAL, "Detected an exception. Stopping ... #{$!} (#{$!.class})\n" << $@.join("\n")) ensure log(INFO, "End of #{ @appname }. (status: #{ status.to_s })") end status end