Ruby (standard) logger levels:
:fatal |
An unhandleable error that results in a program crash |
:error |
A handleable error condition |
:warn |
A warning |
:info |
generic (useful) information about system operation |
:debug |
low-level information for developers |
To initialize the logger you create a new object, proxies to set_log.
*args |
Arguments to create the log from. See set_logs for specifics. |
# File lib/dm-core/support/logger.rb, line 92 def initialize(*args) @init_args = args set_log(*args) self.auto_flush = true DataMapper.logger = self end
Appends a message to the log. The methods yield to an optional block and the output of this block will be appended to the message.
string<String> |
The message to be logged. Defaults to nil. |
String |
The resulting message added to the log file. |
# File lib/dm-core/support/logger.rb, line 145 def <<(string = nil) message = "" message << delimiter message << string if string message << "\n" unless message[-1] == \n\ @buffer << message flush if @auto_flush message end
Close and remove the current log object.
# File lib/dm-core/support/logger.rb, line 131 def close flush @log.close if @log.respond_to?(:close) && !@log.tty? @log = nil end
Flush the entire buffer to the log object.
# File lib/dm-core/support/logger.rb, line 125 def flush return unless @buffer.size > 0 @log.write(@buffer.slice!(0..-1).join) end
Replaces an existing logger with a new one.
log<IO, String> |
Either an IO object or a name of a logfile. |
log_level<~to_sym> |
The log level from, e.g. :fatal or :info. Defaults to :error in the production environment and :debug otherwise. |
delimiter<String> |
Delimiter to use between message sections. Defaults to “ ~ ”. |
auto_flush<Boolean> |
Whether the log should automatically flush after new messages are added. Defaults to false. |
# File lib/dm-core/support/logger.rb, line 111 def set_log(log, log_level = nil, delimiter = " ~ ", auto_flush = false) if log_level && Levels[log_level.to_sym] @level = Levels[log_level.to_sym] else @level = Levels[:debug] end @buffer = [] @delimiter = delimiter @auto_flush = auto_flush initialize_log(log) end
Generated with the Darkfish Rdoc Generator 2.