Class | Logging::Appender |
In: |
lib/logging/appender.rb
|
Parent: | Object |
The Appender class is provides methods for appending log events to a logging destination. The log events are formatted into strings using a Layout.
All other Appenders inherit from this class which provides stub methods. Each subclass should provide a write method that will write log messages to the logging destination.
A private sync method is provided for use by subclasses. It is used to synchronize writes to the logging destination, and can be used by subclasses to synchronize the closing or flushing of the logging destination.
layout | [R] | |
level | [R] | |
name | [R] |
Creates a new appender using the given name. If no Layout is specified, then a Basic layout will be used. Any logging header supplied by the layout will be written to the logging destination when the Appender is created.
Options:
:layout => the layout to use when formatting log events :level => the level at which to log :encoding => encoding to use when writing messages (defaults to UTF-8)
Close the appender and writes the layout footer to the logging destination if the footer flag is set to true. Log events will no longer be written to the logging destination after the appender is closed.
Returns true if the appender has been closed; returns false otherwise. When an appender is closed, no more log events can be written to the logging destination.
Set the appender encoding to the given value. The value can either be an Encoding instance or a String or Symbol referring to a valid encoding.
This method only applies to Ruby 1.9 or later. The encoding will always be nil for older Rubies.
value - The encoding as a String, Symbol, or Encoding instance.
Raises ArgumentError if the value is not a valid encoding.
Call flush to force an appender to write out any buffered log events. Similar to IO#flush, so use in a similar fashion.
Set the level for this appender; log events below this level will be ignored by this appender. The level can be either a String, a Symbol, or a Fixnum. An ArgumentError is raised if this is not the case.
There are two special levels — "all" and "off". The former will enable recording of all log events. The latter will disable the recording of all events.
Example:
appender.level = :debug appender.level = "INFO" appender.level = 4 appender.level = 'off' appender.level = :all
These produce an ArgumentError
appender.level = Object appender.level = -1 appender.level = 1_000_000_000_000