Logging 1.3.0

Logging version 1.3.0
by Tim P.
http://gemcutter.org/gems/logging

== DESCRIPTION

Logging is a flexible logging library for use in Ruby programs based on
the
design of Java’s log4j library. It features a hierarchical logging
system,
custom level names, multiple output destinations per log event, custom
formatting, and more.

== CHANGES

Minor Enhancements

  • Using copy/truncate semantics for a faster RollingFile appender
  • Global reopen method for using Logging in forked environments
  • RollingFile appender can use date stamps instead of numbers

Of significant note is the change to copy/truncate semantics in the
RollingFile appender. File locks are used to determine when it is safe
to
truncate the log file; this prevents loss of log messages when multiple
processes are writing to the same file.

For file locks to work properly when the ruby process is forked, the
logging
appenders need to be reopened in the forked children. This allows
exclusive
file locks to function correctly. To that end a Logging#reopen method
has been
provided that will “do the right thing” for appenders that need to be
reopened.

See the “fork” example in examples diretory for more information.

== CONTACT

Please use the GitHub issue tracker if you discover a bug or have a
feature
request. Patches are welcome. Questions about logging are welcome - I
keep
track of the ruby-talk mailing list, so please post your questions and
discussions there.

Blessings,
TwP