ÿØÿà JFIF ÿÛ „ ( %!1!%*+...983,7(-.-
formatter-i.ri 0000644 00000002031 15235132760 0007331 0 ustar 00 U:RDoc::Attr[iI"formatter:ETI"Logger#formatter;TI"RW;T:publico:RDoc::Markup::Document:@parts[ o:RDoc::Markup::Paragraph; [I"FLogging formatter, as a +Proc+ that will take four arguments and ;TI"5return the formatted message. The arguments are:;To:RDoc::Markup::BlankLine o:RDoc::Markup::List:
@type: NOTE:@items[ o:RDoc::Markup::ListItem:@label[I"+severity+;T; [o;
; [I"%The Severity of the log message.;To;;[I"+time+;T; [o;
; [I">A Time instance representing when the message was logged.;To;;[I"+progname+;T; [o;
; [I">The #progname configured, or passed to the logger method.;To;;[I"
+msg+;T; [o;
; [I"HThe _Object_ the user passed to the log message; not necessarily a ;TI"String.;T@o;
; [I"JThe block should return an Object that can be written to the logging ;TI"Mdevice via +write+. The default formatter is used when no formatter is ;TI" set.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0F@5I"Logger;TcRDoc::NormalClass0 sev_threshold-i.ri 0000644 00000000503 15235132760 0010201 0 ustar 00 U:RDoc::Attr[iI"sev_threshold:EFI"Logger#sev_threshold;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"=Logging severity threshold (e.g. Logger::INFO).;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Logger;TcRDoc::NormalClass0 LogDevice/shift_log_age-i.ri 0000644 00000000377 15235132760 0011774 0 ustar 00 U:RDoc::AnyMethod[iI"shift_log_age:EFI"$Logger::LogDevice#shift_log_age;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/check_shift_log-i.ri 0000644 00000000403 15235132760 0012303 0 ustar 00 U:RDoc::AnyMethod[iI"check_shift_log:EFI"&Logger::LogDevice#check_shift_log;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/cdesc-LogDevice.ri 0000644 00000001561 15235132760 0011670 0 ustar 00 U:RDoc::NormalClass[iI"LogDevice:ETI"Logger::LogDevice;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"&Device used for logging messages.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"dev;TI"R;T:publicFI"lib/logger.rb;T[
I"
filename;TI"R;T;F@[U:RDoc::Constant[i I"SiD;FI"Logger::LogDevice::SiD;T00o;;[ ;
@;0@@cRDoc::NormalClass0[ [[I"
class;T[[;[[I"new;T@[:protected[ [:private[ [I"
instance;T[[;[[I"
close;F@[I"
write;F@[;[ [;[[I"add_log_header;F@[I"check_shift_log;F@[I"create_logfile;F@[I"eod;F@[I"lock_shift_log;F@[I"open_logfile;F@[I"previous_period_end;F@[I"shift_log_age;F@[I"shift_log_period;F@[ [U:RDoc::Context::Section[i 0o;;[ ;
0;0[@I"Logger;T@! LogDevice/add_log_header-i.ri 0000644 00000000405 15235132760 0012073 0 ustar 00 U:RDoc::AnyMethod[iI"add_log_header:EFI"%Logger::LogDevice#add_log_header;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(file);T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/reopen-i.ri 0000644 00000000405 15235132760 0010462 0 ustar 00 U:RDoc::AnyMethod[iI"reopen:ETI"Logger::LogDevice#reopen;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger/log_device.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(log = nil);T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/new-c.ri 0000644 00000000376 15235132760 0007764 0 ustar 00 U:RDoc::AnyMethod[iI"new:ETI"Logger::LogDevice::new;TT:publico:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(log = nil, opt = {});T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/shift_log_period-i.ri 0000644 00000000417 15235132760 0012515 0 ustar 00 U:RDoc::AnyMethod[iI"shift_log_period:EFI"'Logger::LogDevice#shift_log_period;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(period_end);T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/close-i.ri 0000644 00000000356 15235132760 0010304 0 ustar 00 U:RDoc::AnyMethod[iI"
close:EFI"Logger::LogDevice#close;TF:publico:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/filename-i.ri 0000644 00000000360 15235132760 0010752 0 ustar 00 U:RDoc::Attr[iI"
filename:ETI"Logger::LogDevice#filename;TI"R;T:publico:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Logger::LogDevice;TcRDoc::NormalClass0 LogDevice/create_logfile-i.ri 0000644 00000000411 15235132760 0012133 0 ustar 00 U:RDoc::AnyMethod[iI"create_logfile:EFI"%Logger::LogDevice#create_logfile;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(filename);T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/write-i.ri 0000644 00000000365 15235132760 0010331 0 ustar 00 U:RDoc::AnyMethod[iI"
write:EFI"Logger::LogDevice#write;TF:publico:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(message);T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/set_dev-i.ri 0000644 00000000401 15235132760 0010617 0 ustar 00 U:RDoc::AnyMethod[iI"set_dev:ETI"Logger::LogDevice#set_dev;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger/log_device.rb;T:0@omit_headings_from_table_of_contents_below000[ I"
(log);T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/open_logfile-i.ri 0000644 00000000405 15235132760 0011634 0 ustar 00 U:RDoc::AnyMethod[iI"open_logfile:EFI"#Logger::LogDevice#open_logfile;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(filename);T@FI"LogDevice;TcRDoc::NormalClass00 LogDevice/dev-i.ri 0000644 00000000346 15235132760 0007754 0 ustar 00 U:RDoc::Attr[iI"dev:ETI"Logger::LogDevice#dev;TI"R;T:publico:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Logger::LogDevice;TcRDoc::NormalClass0 LogDevice/lock_shift_log-i.ri 0000644 00000000407 15235132760 0012162 0 ustar 00 U:RDoc::AnyMethod[iI"lock_shift_log:EFI"%Logger::LogDevice#lock_shift_log;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below00I" ;T[ I"();T@FI"LogDevice;TcRDoc::NormalClass00 fatal%3f-i.ri 0000644 00000000551 15235132760 0006720 0 ustar 00 U:RDoc::AnyMethod[iI"fatal?:EFI"Logger#fatal?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"NReturns +true+ iff the current severity level allows for the printing of ;TI"+FATAL+ messages.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"Logger;TcRDoc::NormalClass00 cdesc-Logger.ri 0000644 00000020426 15235132760 0007406 0 ustar 00 U:RDoc::NormalClass[iI"Logger:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[IS:RDoc::Markup::Heading:
leveli: textI"Description;To:RDoc::Markup::BlankLine o:RDoc::Markup::Paragraph;[I"OThe Logger class provides a simple but sophisticated logging utility that ;TI"$you can use to output messages.;T@o;
;[I"RThe messages have associated levels, such as +INFO+ or +ERROR+ that indicate ;TI"Ptheir importance. You can then give the Logger a level, and only messages ;TI"-at that level or higher will be printed.;T@o;
;[I"The levels are:;T@o:RDoc::Markup::List:
@type: NOTE:@items[o:RDoc::Markup::ListItem:@label[I"+UNKNOWN+;T;[o;
;[I"5An unknown message that should always be logged.;To;;[I"+FATAL+;T;[o;
;[I";An unhandleable error that results in a program crash.;To;;[I"+ERROR+;T;[o;
;[I""A handleable error condition.;To;;[I"+WARN+;T;[o;
;[I"A warning.;To;;[I"+INFO+;T;[o;
;[I"9Generic (useful) information about system operation.;To;;[I"+DEBUG+;T;[o;
;[I"*Low-level information for developers.;T@o;
;[
I"KFor instance, in a production system, you may have your Logger set to ;TI"+INFO+ or even +WARN+. ;TI"?When you are developing the system, however, you probably ;TI"Rwant to know about the program's internal state, and would set the Logger to ;TI"
+DEBUG+.;T@o;
;[I"K*Note*: Logger does not escape or sanitize any messages passed to it. ;TI"PDevelopers should be aware of when potentially malicious data (user-input) ;TI"Ais passed to Logger, and manually escape the untrusted data:;T@o:RDoc::Markup::Verbatim;[I".logger.info("User-input: #{input.dump}")
;TI"+logger.info("User-input: %p" % input)
;T:@format0o;
;[I"3You can use #formatter= for escaping all data.;T@o;;[
I"0original_formatter = Logger::Formatter.new
;TI"Clogger.formatter = proc { |severity, datetime, progname, msg|
;TI"G original_formatter.call(severity, datetime, progname, msg.dump)
;TI"}
;TI"logger.info(input)
;T;0S; ;
i;I"Example;T@o;
;[I"NThis creates a Logger that outputs to the standard output stream, with a ;TI"level of +WARN+:;T@o;;[I"require 'logger'
;TI"
;TI"!logger = Logger.new(STDOUT)
;TI"!logger.level = Logger::WARN
;TI"
;TI"$logger.debug("Created logger")
;TI"$logger.info("Program started")
;TI"#logger.warn("Nothing to do!")
;TI"
;TI""path = "a_non_existent_file"
;TI"
;TI"begin
;TI"$ File.foreach(path) do |line|
;TI") unless line =~ /^(\w+) = (.*)$/
;TI"? logger.error("Line in wrong format: #{line.chomp}")
;TI"
end
;TI" end
;TI"rescue => err
;TI"1 logger.fatal("Caught exception; exiting")
;TI" logger.fatal(err)
;TI" end
;T;0o;
;[I"OBecause the Logger's level is set to +WARN+, only the warning, error, and ;TI"Lfatal messages are recorded. The debug and info messages are silently ;TI"discarded.;T@S; ;
i;I"
Features;T@o;
;[ I"GThere are several interesting features that Logger provides, like ;TI"Hauto-rolling of log files, setting the format of log messages, and ;TI"Rspecifying a program name in conjunction with the message. The next section ;TI"+shows you how to achieve these things.;T@S; ;
i;I"HOWTOs;T@S; ;
i;I"How to create a logger;T@o;
;[I"LThe options below give you various choices, in more or less increasing ;TI"complexity.;T@o;;:NUMBER;[
o;;0;[o;
;[I":Create a logger which logs messages to STDERR/STDOUT.;T@o;;[I"!logger = Logger.new(STDERR)
;TI"!logger = Logger.new(STDOUT)
;T;0o;;0;[o;
;[I"?Create a logger for the file which has the specified name.;T@o;;[I"(logger = Logger.new('logfile.log')
;T;0o;;0;[o;
;[I",Create a logger for the specified file.;T@o;;[ I">file = File.open('foo.log', File::WRONLY | File::APPEND)
;TI"H# To create new (and to remove old) logfile, add File::CREAT like:
;TI"N# file = File.open('foo.log', File::WRONLY | File::APPEND | File::CREAT)
;TI"logger = Logger.new(file)
;T;0o;;0;[o;
;[I"LCreate a logger which ages the logfile once it reaches a certain size. ;TI"GLeave 10 "old" log files where each file is about 1,024,000 bytes.;T@o;;[I"1logger = Logger.new('foo.log', 10, 1024000)
;T;0o;;0;[o;
;[I"ACreate a logger which ages the logfile daily/weekly/monthly.;T@o;;[I"-logger = Logger.new('foo.log', 'daily')
;TI".logger = Logger.new('foo.log', 'weekly')
;TI"/logger = Logger.new('foo.log', 'monthly')
;T;0S; ;
i;I"How to log a message;T@o;
;[ I"ONotice the different methods (+fatal+, +error+, +info+) being used to log ;TI"Nmessages of various levels? Other methods in this family are +warn+ and ;TI"M+debug+. +add+ is used below to log a message of an arbitrary (perhaps ;TI"dynamic) level.;T@o;;;;[ o;;0;[o;
;[I"Message in a block.;T@o;;[I"2logger.fatal { "Argument 'foo' not given." }
;T;0o;;0;[o;
;[I"Message as a string.;T@o;;[I"/logger.error "Argument #{@foo} mismatch."
;T;0o;;0;[o;
;[I"With progname.;T@o;;[I"5logger.info('initialize') { "Initializing..." }
;T;0o;;0;[o;
;[I"With severity.;T@o;;[I"2logger.add(Logger::FATAL) { 'Fatal error!' }
;T;0o;
;[I"KThe block form allows you to create potentially complex log messages, ;TI"Cbut to delay their evaluation until and unless the message is ;TI"4logged. For example, if we have the following:;T@o;;[I"Jlogger.debug { "This is a " + potentially + " expensive operation" }
;T;0o;
;[I"RIf the logger's level is +INFO+ or higher, no debug messages will be logged, ;TI"Gand the entire block will not even be evaluated. Compare to this:;T@o;;[I"Glogger.debug("This is a " + potentially + " expensive operation")
;T;0o;
;[I"HHere, the string concatenation is done every time, even if the log ;TI"0level is not set to show the debug message.;T@S; ;
i;I"How to close a logger;T@o;;[I"logger.close
;T;0S; ;
i;I"Setting severity threshold;T@o;;;;[o;;0;[o;
;[I"Original interface.;T@o;;[I")logger.sev_threshold = Logger::WARN
;T;0o;;0;[o;
;[I"+Log4r (somewhat) compatible interface.;T@o;;[I"!logger.level = Logger::INFO
;TI"
;TI"5# DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN
;T;0S; ;
i;I"Format;T@o;
;[I"KLog messages are rendered in the output stream in a certain format by ;TI"?default. The default format and a sample are shown below:;T@o;
;[I"Log format:;To;;[I"DSeverityID, [DateTime #pid] SeverityLabel -- ProgName: message
;T;0o;
;[I"Log sample:;To;;[I"AI, [1999-03-03T02:34:24.895701 #19074] INFO -- Main: info.
;T;0o;
;[I"CYou may change the date and time format via #datetime_format=.;T@o;;[I"2logger.datetime_format = '%Y-%m-%d %H:%M:%S'
;TI"( # e.g. "2004-01-03 00:54:26"
;T;0o;
;[I"FOr, you may change the overall format via the #formatter= method.;T@o;;[ I"Dlogger.formatter = proc do |severity, datetime, progname, msg|
;TI" "#{datetime}: #{msg}\n"
;TI" end
;TI"4# e.g. "2005-09-22 08:51:08 +0900: hello world";T;0:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[
[
I"formatter;TI"RW;T:publicFI"lib/logger.rb;T[
I"
level;TI"RW;T;F@?[
I"
progname;TI"RW;T;F@?[
I"sev_threshold;FI"RW;T;F@?[
I"sev_threshold=;FI"RW;T;F@?[U:RDoc::Constant[i I"VERSION;FI"Logger::VERSION;T00o;;[ ;@:;0@:@cRDoc::NormalClass0U;[i I"
ProgName;FI"Logger::ProgName;T00o;;[ ;@:;0@:@@S0U;[i I"SEV_LABEL;FI"Logger::SEV_LABEL;T00o;;[o;
;[I".Severity label for logging (max 5 chars).;T;@:;0@:@@S0[[I"
Severity;To;;[ ;@:;0@?[[I"
class;T[[;[[I"new;T@?[:protected[ [:private[ [I"
instance;T[[;[[I"<<;T@?[I"add;F@?[I"
close;F@?[I"datetime_format;F@?[I"datetime_format=;F@?[I"
debug;F@?[I"debug?;F@?[I"
error;F@?[I"error?;F@?[I"
fatal;F@?[I"fatal?;F@?[I" info;F@?[I"
info?;F@?[I"log;F@?[I"unknown;F@?[I" warn;F@?[I"
warn?;F@?[;[ [;[[I"format_message;F@?[I"format_severity;F@?[ [U:RDoc::Context::Section[i 0o;;[ ;0;0[@:@:cRDoc::TopLevel warn-i.ri 0000644 00000000570 15235132760 0006303 0 ustar 00 U:RDoc::AnyMethod[iI" warn:EFI"Logger#warn;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"Log a +WARN+ message.;To:RDoc::Markup::BlankLine o;
; [I"$See #info for more information.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(progname = nil, &block);T@FI"Logger;TcRDoc::NormalClass00 reopen-i.ri 0000644 00000001374 15235132760 0006627 0 ustar 00 U:RDoc::AnyMethod[iI"reopen:ETI"Logger#reopen;TF:privateo:RDoc::Markup::Document:@parts[S:RDoc::Markup::Heading:
leveli: textI" Args;To:RDoc::Markup::BlankLine o:RDoc::Markup::List:
@type: NOTE:@items[o:RDoc::Markup::ListItem:@label[I"
+logdev+;T; [o:RDoc::Markup::Paragraph; [I"JThe log device. This is a filename (String) or IO object (typically ;TI"H+STDOUT+, +STDERR+, or an open file). reopen the same filename if ;TI"7it is +nil+, do nothing for IO. Default is +nil+.;T@
S;
;i;I"Description;T@
o;; [I"Reopen a log device.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0I")Logger#reopen
Logger#reopen(logdev)
;T0[ I"(logdev = nil);T@FI"Logger;TcRDoc::NormalClass00 Period/next_rotate_time-i.ri 0000644 00000000425 15235132760 0012127 0 ustar 00 U:RDoc::AnyMethod[iI"next_rotate_time:ETI"$Logger::Period#next_rotate_time;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger/period.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(now, shift_age);T@FI"Period;TcRDoc::NormalModule00 Period/previous_period_end-i.ri 0000644 00000000433 15235132760 0012620 0 ustar 00 U:RDoc::AnyMethod[iI"previous_period_end:ETI"'Logger::Period#previous_period_end;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger/period.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(now, shift_age);T@FI"Period;TcRDoc::NormalModule00 Period/cdesc-Period.ri 0000644 00000001111 15235132760 0010621 0 ustar 00 U:RDoc::NormalModule[iI"Period:ETI"Logger::Period;T0o:RDoc::Markup::Document:@parts[o;;[ :
@fileI"lib/logger/period.rb;T:0@omit_headings_from_table_of_contents_below0; 0;
0[ [U:RDoc::Constant[i I"SiD;TI"Logger::Period::SiD;T:public0o;;[ ; @
;
0@
@cRDoc::NormalModule0[ [[I"
class;T[[;[ [:protected[ [:private[ [I"
instance;T[[;[ [;
[ [;[[I"next_rotate_time;TI"lib/logger/period.rb;T[I"previous_period_end;T@-[ [U:RDoc::Context::Section[i 0o;;[ ; 0;
0[I"lib/logger/period.rb;TI"Logger;TcRDoc::NormalClass new-c.ri 0000644 00000001766 15235132760 0006127 0 ustar 00 U:RDoc::AnyMethod[iI"new:ETI"Logger::new;TT:publico:RDoc::Markup::Document:@parts[S:RDoc::Markup::Heading:
leveli: textI" Args;To:RDoc::Markup::BlankLine o:RDoc::Markup::List:
@type: NOTE:@items[o:RDoc::Markup::ListItem:@label[I"
+logdev+;T; [o:RDoc::Markup::Paragraph; [I"JThe log device. This is a filename (String) or IO object (typically ;TI"*+STDOUT+, +STDERR+, or an open file).;To;;[I"+shift_age+;T; [o;; [I"KNumber of old log files to keep, *or* frequency of rotation (+daily+, ;TI"+weekly+ or +monthly+).;To;;[I"+shift_size+;T; [o;; [I"FMaximum logfile size (only applies when +shift_age+ is a number).;T@
S;
;i;I"Description;T@
o;; [I"Create an instance.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0I"bLogger.new(name, shift_age = 7, shift_size = 1048576)
Logger.new(name, shift_age = 'weekly')
;T0[ I"2(logdev, shift_age = 0, shift_size = 1048576);T@,FI"Logger;TcRDoc::NormalClass00 warn%21-i.ri 0000644 00000000441 15235132760 0006510 0 ustar 00 U:RDoc::AnyMethod[iI"
warn!:ETI"Logger#warn!;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"Sets the severity to WARN.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"Logger;TcRDoc::NormalClass00 Formatter/format_datetime-i.ri 0000644 00000000407 15235132760 0012442 0 ustar 00 U:RDoc::AnyMethod[iI"format_datetime:EFI"&Logger::Formatter#format_datetime;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(time);T@FI"Formatter;TcRDoc::NormalClass00 Formatter/new-c.ri 0000644 00000000353 15235132760 0010061 0 ustar 00 U:RDoc::AnyMethod[iI"new:ETI"Logger::Formatter::new;TT:publico:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"Formatter;TcRDoc::NormalClass00 Formatter/call-i.ri 0000644 00000000411 15235132760 0010204 0 ustar 00 U:RDoc::AnyMethod[iI" call:EFI"Logger::Formatter#call;TF:publico:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"$(severity, time, progname, msg);T@FI"Formatter;TcRDoc::NormalClass00 Formatter/cdesc-Formatter.ri 0000644 00000001250 15235132760 0012067 0 ustar 00 U:RDoc::NormalClass[iI"Formatter:ETI"Logger::Formatter;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"(Default formatter for log messages.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"datetime_format;TI"RW;T:publicFI"lib/logger.rb;T[U:RDoc::Constant[i I"Format;FI"Logger::Formatter::Format;T00o;;[ ;
@;0@@cRDoc::NormalClass0[ [[I"
class;T[[;[[I"new;T@[:protected[ [:private[ [I"
instance;T[[;[[I" call;F@[;[ [;[[I"format_datetime;F@[I"msg2str;F@[ [U:RDoc::Context::Section[i 0o;;[ ;
0;0[@I"Logger;T@ Formatter/msg2str-i.ri 0000644 00000000366 15235132760 0010703 0 ustar 00 U:RDoc::AnyMethod[iI"msg2str:EFI"Logger::Formatter#msg2str;TF:privateo:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"
(msg);T@FI"Formatter;TcRDoc::NormalClass00 Formatter/datetime_format-i.ri 0000644 00000000377 15235132760 0012450 0 ustar 00 U:RDoc::Attr[iI"datetime_format:ETI"&Logger::Formatter#datetime_format;TI"RW;T:publico:RDoc::Markup::Document:@parts[ :
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Logger::Formatter;TcRDoc::NormalClass0 fatal%21-i.ri 0000644 00000000444 15235132760 0006633 0 ustar 00 U:RDoc::AnyMethod[iI"fatal!:ETI"Logger#fatal!;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I" Sets the severity to FATAL.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"Logger;TcRDoc::NormalClass00 warn%3f-i.ri 0000644 00000000546 15235132760 0006604 0 ustar 00 U:RDoc::AnyMethod[iI"
warn?:EFI"Logger#warn?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"NReturns +true+ iff the current severity level allows for the printing of ;TI"+WARN+ messages.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"Logger;TcRDoc::NormalClass00 debug%21-i.ri 0000644 00000000444 15235132760 0006632 0 ustar 00 U:RDoc::AnyMethod[iI"debug!:ETI"Logger#debug!;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I" Sets the severity to DEBUG.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"Logger;TcRDoc::NormalClass00 close-i.ri 0000644 00000000437 15235132760 0006443 0 ustar 00 U:RDoc::AnyMethod[iI"
close:EFI"Logger#close;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"Close the logging device.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"Logger;TcRDoc::NormalClass00 error%3f-i.ri 0000644 00000000551 15235132760 0006762 0 ustar 00 U:RDoc::AnyMethod[iI"error?:EFI"Logger#error?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"NReturns +true+ iff the current severity level allows for the printing of ;TI"+ERROR+ messages.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"Logger;TcRDoc::NormalClass00 datetime_format%3d-i.ri 0000644 00000001003 15235132760 0010764 0 ustar 00 U:RDoc::AnyMethod[iI"datetime_format=:EFI"Logger#datetime_format=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"Set date-time format.;To:RDoc::Markup::BlankLine o:RDoc::Markup::List:
@type: NOTE:@items[o:RDoc::Markup::ListItem:@label[I"+datetime_format+;T; [o;
; [I"1A string suitable for passing to +strftime+.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(datetime_format);T@FI"Logger;TcRDoc::NormalClass00 error-i.ri 0000644 00000000574 15235132760 0006471 0 ustar 00 U:RDoc::AnyMethod[iI"
error:EFI"Logger#error;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"Log an +ERROR+ message.;To:RDoc::Markup::BlankLine o;
; [I"$See #info for more information.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(progname = nil, &block);T@FI"Logger;TcRDoc::NormalClass00 unknown-i.ri 0000644 00000000705 15235132760 0007033 0 ustar 00 U:RDoc::AnyMethod[iI"unknown:EFI"Logger#unknown;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"QLog an +UNKNOWN+ message. This will be printed no matter what the logger's ;TI"level is.;To:RDoc::Markup::BlankLine o;
; [I"$See #info for more information.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(progname = nil, &block);T@FI"Logger;TcRDoc::NormalClass00 debug%3f-i.ri 0000644 00000000551 15235132760 0006717 0 ustar 00 U:RDoc::AnyMethod[iI"debug?:EFI"Logger#debug?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"NReturns +true+ iff the current severity level allows for the printing of ;TI"+DEBUG+ messages.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@FI"Logger;TcRDoc::NormalClass00 add-i.ri 0000644 00000004005 15235132760 0006061 0 ustar 00 U:RDoc::AnyMethod[iI"add:EFI"Logger#add;TF:publico:RDoc::Markup::Document:@parts[S:RDoc::Markup::Heading:
leveli: textI" Args;To:RDoc::Markup::BlankLine o:RDoc::Markup::List:
@type: NOTE:@items[ o:RDoc::Markup::ListItem:@label[I"+severity+;T; [o:RDoc::Markup::Paragraph; [I"LSeverity. Constants are defined in Logger namespace: +DEBUG+, +INFO+, ;TI",+WARN+, +ERROR+, +FATAL+, or +UNKNOWN+.;To;;[I"+message+;T; [o;; [I"-The log message. A String or Exception.;To;;[I"+progname+;T; [o;; [I"GProgram name string. Can be omitted. Treated as a message if no ;TI"%+message+ and +block+ are given.;To;;[I"+block+;T; [o;; [I"ICan be omitted. Called to get a message string if +message+ is nil.;T@
S;
;i;I"Return;T@
o;; [I"NWhen the given severity is not high enough (for this particular logger), ;TI"'log no message, and return +true+.;T@
S;
;i;I"Description;T@
o;; [I"NLog a message if the given severity is high enough. This is the generic ;TI"Ologging method. Users will be more inclined to use #debug, #info, #warn, ;TI"#error, and #fatal.;T@
o;; [I"JMessage format: +message+ can be any object, but it has to be ;TI"Mconverted to a String in order to log it. Generally, +inspect+ is used ;TI"*if the given object is not a String. ;TI"OA special case is an +Exception+ object, which will be printed in detail, ;TI"Dincluding message, class, and backtrace. See #msg2str for the ;TI" implementation if required.;T@
S;
;i;I" Bugs;T@
o;;:BULLET;[o;;0; [o;; [I"Logfile is not locked.;To;;0; [o;; [I",Append open does not need to lock file.;To;;0; [o;; [I"AIf the OS supports multi I/O, records possibly may be mixed.;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0I"ALogger#add(severity, message = nil, progname = nil) { ... }
;TI" ;T[[I"log;Fo;; [ ;@V;0I".(severity, message = nil, progname = nil);T@VFI"Logger;TcRDoc::NormalClass00 sev_threshold%3d-i.ri 0000644 00000000505 15235132760 0010477 0 ustar 00 U:RDoc::Attr[iI"sev_threshold=:EFI"Logger#sev_threshold=;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"=Logging severity threshold (e.g. Logger::INFO).;T:
@fileI"lib/logger.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Logger;TcRDoc::NormalClass0 info-i.ri 0000644 00000002732 15235132760 0006271 0 ustar 00 U:RDoc::AnyMethod[iI" info:EFI"Logger#info;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"Log an +INFO+ message.;To:RDoc::Markup::BlankLine o:RDoc::Markup::List:
@type: NOTE:@items[o:RDoc::Markup::ListItem:@label[I"+message+;T; [o;
; [I"6The message to log; does not need to be a String.;To;;[I"+progname+;T; [o;
; [I"