The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Change Log

Version 1.000 (2013-08-13)

Switched to standard X.YYYZZZ versioning.

Replaced ChangeLog with changes.pod.

Updated 'clean' arguments in Makefile.PL.

Updated Agent.pm and replaced old README.

Version 0.308 (2013-08-10)

Changed license to the Artistic License 2.0.

Replaced META.yml with META.json.

Fixed tests for Carp behavior and file permissions.

Version 0.307 (2005-10-02)

Replaced a non-localized modification $^W with "no warnings" so warnings are no disabled globally. Thanks to Andreas Vierengel for pointing this out.

Fixed formatting behavior for strings that contain "%%" without any other formating characters. Thanks to David Coppit for this one.

Fixed a minor undef warning in a major kludge in the Agent::Driver code.

Version 0.306 (2004-02-02)

Stripped line endings in common tests to allow tests to succeed under non-UN*X environments. Also replaced an unnecessary handle alias with the actual file name in t/file.t. Thanks to Jay Lawrence and Terrence Brannon for pointing out the test problems.

Version 0.305 (2003-09-27)

Added a wrapper for &AutoLoader::AUTOLOAD to save the value of $!, which is often clobbered before the substitution of "%m" by logxxx().

Added a META.yml file and disabled autogeneration in Makefile.PL.

Version 0.304 (2003-03-08)

Made the logxxx() calls transparent to all (current) sprintf() formatting patterns. Not all formatting errors will be caught before passed to sprintf(), but the obviously malformed ones will be detected.

Added support for embedded newlines in messages passed to logcarp() and logxcarp().

Version 0.303 (2002-09-30)

Removed the problematic t/mail.t test. The test fails due to problems with redirecting the output of Mail::Mailer in test mode.

Version 0.302 (2002-08-01)

Expanded &Carp::shortmess workaround in Log::Agent::Driver to handle behavior under Perl 5.8.0.

Version 0.301_002 (2002-05-12)

Added prechecks for sprintf() arguments in Log::Agent::Formatting.

Added argument for Mail::Mailer options in Log::Agent::Driver::Mail->make().

Version 0.301_001 (2002-04-25)

Added trial Log::Agent::Driver::Mail for sending log messages via email.

Minor changes to version control.

Version 0.301 (2002-03-18)

Removed paranoid argument test from Log::Agent::Driver::Fork::make(), now relying on later failure for invalid argument. Only testing with ref() now.

Version 0.300 (2002-02-23)

Development and maintenance handed over to Mark Rogaski <mrogaski@cpan.org>.

Added Log::Agent::Driver::Fork to allow logconfig() to accept multiple drivers at once.

Added file permission arguments to Log::Agent::Driver::File and Log::Agent::Channel::File.

Corrected "uninitialized value" in Log::Agent::Tag::Caller caused by undefined $subroutine.

Version 0.208 (2001-04-11)

Added hyperlinks within POD to ease web browsing of manpage.

Routines from Log::Agent::Priorities are now auto-loaded.

Normalize priority string ("err" -> "error") when logging it, Indeed, Log::Agent::Logger uses those routines but makes strict use of syslog priority names.

(2001-03-31)

Massive renaming Devel::Datum -> Carp::Datum.

Fixed =over to add explicit indent level, for POD checkers.

Fixed off-by-one error in prio_from_level(), which caused improper conversion for level 10.

(2001-03-15)

Updated version number.

(2001-03-13)

Forgot to handle -prefix in Log::Agent::Channel::Syslog.

Was wrongly issuing test headers twice when skipping the t/tag_callback.t tests.

(2001-03-13)

Fixed typo in -priority documentation.

Manual page for Log::Agent::Tag::Priority was irrelevant.

(2001-03-13)

Added the -priority and -tags options to logconfig() for including priority string in messages, as well as user-defined tag strings.

Test the ${line} variable substitution in caller formatting.

Fixed bug for *BSD systems, which caused the test suite to fail.

Class Log::Agent::Caller disappered, and is now replaced by Log::Agent::Tag::Caller.

Version 0.201 (2000-11-12)

Minor typo fixes.

Version 0.200 (2000-11-06)

Modularized the logging channels. They have now their own hierarchy under Log::Agent::Channel.

Modularized priority, prefixing and timestamping routines, so that they can be re-used by satellite Log::Agent modules.

Logging from Log::Agent is now subject to pruning depending on the logging level set. By default, it is "notice", so that even logsay() is visible.

Version 0.108 (2000-10-01)

Added support for Devel::Datum. This module is still under development, but is already used in production system.

New logcarp, logxcarp and logxcroak interface.

Fixed carpmess to work around Carp's incorrect offseting and added a test suite for logcarp and logxcarp.

Version 0.107 (2000-07-04)

Forgot to increase version number at last patch.

Version 0.106 (2000-07-04)

Was missing default init check before calling logwrite(), resulting in a call on an undefined referenced in logtrc() and logdbg() when no explicit configuration was otherwise made.

Version 0.105 (2000-06-20)

Added logcroak(), to die from the perspective of the caller.

New logwrite() routine for upper-level apps, which unconditionally logs messages to a specified channel.

Fixed arg processing to avoid dying on 2nd calls to logconfig().

Fixed typos in debug init and man page.

Removed logtrc() and logdbg() from the driver interface: they are now frozen in Log::Agent, and implemented in terms of logwrite(), which may be redefined as suited.

Version 0.104 (2000-03-30)

Forgot that /(?<!)/ is a 5.005 feature, fixed Agent/Caller.pm.

Version 0.103 (2000-03-05)

Added missing 1 for require and fixed typo in pod for Log::Agent::Caller as was reported by many people.

All .pm files now have an __END__ marker before the pod section anyway, so that the Perl parser stops.

Added support for logfile rotation via Log::Agent::Rotate.

No longer uses IO::Handle but relies on the new Log::Agent::File hierarch, to support logfile rotation. Native Perl files are now handled via Log::Agent::File::Native.

Suppressed blurb about the Linux bug since we workaround it by creating a new separate default_exp.t test.

Version 0.102 (1999-12-09)

Wrote two versions of format_args and eval proper one. Indeed, perl-5.005 versions do not support /(?<!)/ and this is parsed at compile time, hence we need to protect the expression within an eval.

Version 0.101 (1999-12-08)

Forgot that /(?<!)/ is a 5.005 feature, fixed Agent.pm.

Mentions that perl 5.005 fails tests on Linux due to a perl or glibc bug. It's only the test code that fails though.

Version 0.100

Initial revision.