CHANGELOG
----------------------
[2015-08-18]
[2015-07-21]
* perltidy
* Perltidy
[2015-06-17]
* Remove 'NOT REACHED' comments
[2014-11-30]
[2014-11-07]
* Reformat using new perltidy settings
[2014-06-04]
* Ignore files generated by tagging programs
* Allow wait-time for emails to be configurable
* Improve array iteration performance
[2014-01-18]
* Regen
* Update email address
[2014-01-15]
* Set return value as appropriate in validation routines
* Document what BEGIN block does
[2013-12-21]
* Document Email Address Validation
* Comment methods with early return of control
[2013-12-20]
* Close out CAVEAT task
* Minor punctuation nit
* Add CAVEATS section about Email Validation modules
* Be sure to clear out $@ in BEGIN loop
* Update TODO items to reflect Email work
* Add support for Email::Valid
* Remove Mail::RFC822::Address checks
* Give validation methods object oriented goodness
* Dynamically load Mail::RFC822::Address module
* Add TODO item for flexible usage of Mail::RFC822::Address
[2013-09-19]
* Bump version to 0.64
[2013-09-17]
[2013-09-16]
* Correct potential race condition when closing file handle
* Close out leftover file task
* Add TODO about file spewage
[2013-09-12]
* Optimize fileHandle() method
[2013-04-30]
* Clean up some commentary
[2013-04-16]
* Close temporary filehandle before checking for assoc. file
* Close out TEMP environment variable task
* Use the TEMP environmental variable to get temporary file path
* Add TODO to use TEMP Environmental variable
* Bump version to 0.63
[2013-04-15]
[2013-04-12]
* Properly call mail(1) when using Debian GNU/Linux
* Properly call mail(1) when using OpenBSD
[2013-02-10]
* Remove redundant ABSTRACT_FROM
* Correct bullet in item line
[2013-02-09]
* Use preferred representation for mail body time stamp
* Log::Fine now requires Perl v5.8.3
* Minor verbiage to avoid potential confusion
[2013-02-08]
* Use File::Temp::mkstemp() to create temporary file
[2013-01-13]
* Use File::Temp::mkstemp() to create temporary file
* Switch to using tmpnam() from File::Temp
[2013-01-03]
* Bump version to 0.62
* Remove Revision ID Information
* Revert "Remove Sys::Syslog as a requirement"
[2012-12-29]
* Bump version to 0.61
* Make tests compatible with Email::Sender version >= 0.120000
* Remove Try::Tiny from recommendations
* Use try_to_sendmail() method for Email delivery
[2012-10-17]
[2012-08-25]
* Switch from using "~" to delimit fixed-width text to "="
* Initial revision of quick-n-dirty ChangeLog generation script
[2012-07-16]
* Close out tasks
[2012-07-04]
[2012-07-03]
* Do not forget to bump copyright year in necessary files
* Document {err_callback}
* Add unit tests for {err_callback} functionality
[2012-06-29]
* Add callback functionality for _error()
* Call _error() if we are unable to close the file handle
* Code and comment clean-ups
* Close out Sys::Syslog and MIME::Lite tasks
* Capture potentially fatal errors
* Add the following TODO items:
* Do not call Sys::Syslog::closelog() on destruction
* Be consistent with file handle validation
* Make sure Log() has a valid logging object
* Make testing messages consistent
* Reference Sys::Syslog macros explicitly
* Cancel internal logging method
* Remove Sys::Syslog as a requirement
* Reference VALTOLVL_MAP values from LVLTOVAL_MAP
* Update misleading DESCRIPTION
* Add and close null handle creation task
* Cancel enable/disable task
* Initial entry of Null Handle
* Correct bug reporting email address
* _error() if we are unable to close file handle
* Close out TODO items
* Add additional sanity checks
* registerHandle() can now accept array refs
* Add new method _error()
* Remove requirement for Test::Output
* Update TODO list for LOGFINE-0-61
* Remove older closed TODO items
* Brainstorm ideas for v0.61
* Use the mailx(1) command for grabbing headers under solaris
* Recommend Try::Tiny v0.11
* Set object's {_err_str} when _fatal() is called
* Clean up msgWrite() logic
* Add blib and pm_to_blib to list of ignored items
* {header_to} option can now be either a string or an array ref
* Add new subclassing TODO item
[2011-12-24]
[2011-12-15]
* Bump version
* Only save STDERR on newer versions of perl
[2011-12-08]
* Update skip message to reflect reality
* getgrgid() works under cygwin
* Correct instance of vivification
* Save and restore original STDERR
* Make sure the Log::Fine::Handle::File filehandle is closed
[2011-12-02]
* Use $ENV{GID} and $ENV{EGID} under cygwin
* Check for absolute path under MSWin32
* Reduce spewage by checking $ENV{EGID} and $ENV{GID}
* Oversight
* Bump version
* Regen
[2011-12-01]
* Sync documentation w/ reality
* Replace croak with confess when calling ->_fatal()
* Close out template tasks
* Clean up function, variable names
* Redirect stderr to the bitbucket for bad custom template unit test
* Add rename method task
* Update custom placeholder tasks
* Check for duplicate custom placeholders
* Add another TODO item for storing placeholder keys
* Add key collision TODO
[2011-11-28]
* Just use {file} if {dir} is not defined
[2011-11-22]
* Bump copyright
* Log::Fine::Handle::File can now accept a file name with absolute path
* perltidy
* Stress test custom placeholder functionality
* Correct copyright
* Be more consistent with variable names
[2011-11-16]
* Close out custom template TODO
* Update documentation
* s/custom_templates/custom_placeholders/
* Add support for custom placeholders
* Function refs must be set sans ()
* Lose redundant code block
[2011-11-03]
* Fill out details
* Brainstorm custom template macros
* Post-pend function names with ()
[2011-11-02]
* Bump Copyright
[2011-10-31]
[2011-10-30]
* Bump version
* Regen
[2011-10-28]
* Make note that envelope is optional
* Note perl 5.8.3 requirement
[2011-10-25]
* Make sure Handle object supports bitmaskListEnabled()
* Update log mask TODO item
* Add new method, Log::Fine::Handle->bitmaskListEnabled()
* Add TODO item about bitmaskListEnabled()
* Bump copyright
* Complete Timestamp TODO
* Log::Fine::Handle::File::Timestamp now properly rotates files
* Add TODO item about timestamped files
[2011-10-24]
* Bump version
* Skip tests if run under MSWin32 or Cygwin
* Skip tests if run under MSWin32 or Cygwin
* Skip tests if run under MSWin32 or Cygwin
* Recommend Throwable
* Add new handle, Log::Fine::Handle::Email
* Sync SYNOPSIS with reality
* Move isLoggable() regression tests to Log::Fine::Level::* tests
[2011-10-19]
* Add RCS-style keyword
[2011-09-29]
[2011-08-04]
* Optimize methods for speed
[2011-07-22]
* Bump version
* Bump version
[2011-07-12]
* When getting the group IDs, be sure to use the FIRST value returned
* Grammar
[2011-07-06]
[2011-05-18]
* Use ref to determine object type
[2011-03-28]
* Bump version
* Auditing for documentation correctness
* Update tasks
* perltidy
* Switch to Test::More
[2011-03-19]
* Add POD readme branch TODO
* Add TODO for unit tests
* Provide name() example usage
* Initial entry of README.pod
[2011-03-18]
* Bump version
* Add unit tests for non-default syslog facilities
* Cancel todo
* Log::Fine::_fatal() will croak if called directly
* Close out name() task
* Test $obj->name()
* Add more unit tests
* perltidy
* Update with LOG-UTIL-LOGTRACKING changes
* Remove GetLogName()
* Implement Log::Fine::Utils::CurrentLogger()
* Add {no_croak} option to list of parameters accepted by OpenLog()
[2011-03-11]
* Store pointer to current logger
* Further brainstorming
* Implement Log::Fine->name()
* Brainstorming
* Documentation consistency nit
* Elaborate GetLogName() TODO
* Add TODO for GetLogName()
* Properly match date string when LC_TIME is set to de_DE.utf8
[2011-02-25]
* Document GetLogName()
* Add tests for GetLogName()
* Add new function, GetLogName()
* Comment out unused Data::Dumper module
[2011-02-08]
[2011-02-07]
* Bump version
* Log::Fine::Utils now supports multiple loggers
* Bump version
[2011-02-06]
* Expand RCS keywords in Makefile.PL
[2011-02-05]
[2011-02-02]
* Just require Sys::Syslog 0.13
* No longer need META.yml since it's auto-generated for us
* Let Makefile.PL generate an appropriate META.yml file
[2011-01-30]
* Regen
* Add installation instructions
[2011-01-11]
* Minor formatting tweaks
[2011-01-10]
* Bump version
* Close out multi-logger task
[2011-01-09]
* Update
* Regen
* perltidy
* Code optimizations
[2011-01-08]
* Document new multi-logger functionality
* Make POD documentation more consistent with perlmodstyle(1)
* Clean up code
* Store copy of Log::Fine object
[2011-01-07]
* Make sure filehandle is open
* Update TODO with Utils task information
* Initial stab at having Utils support multiple loggers
[2011-01-06]
* Add support for listing defined logger objects
* Brainstorm additional ideas
* Ignore files generated by perltidy and 'make clean'
* Add support for variable-precision high-resolution timestamps
* Properly handle space at beginning of line caused by certain locales
* Bump Version
* Bump Version
[2011-01-03]
* Bump Version
[2011-01-02]
* Happy New Years! Bump copyright year as appropriate
* Correct invocation to _fatal()
* Add some thoughts on extending Utils
* Clarify _fatal() documentation
[2010-12-31]
* Spacing
* Use _fatal() for croaking
[2010-12-28]
* Bump version
* Decided against switching to Module::Build so cancel TODO
* Close out Formatter template class TODO
* Optimize how $skip is set
* Do not call $self->_placeHolders($tmpl) unless we need to
* perltidy
* s/{_used_placeholders}/{_placeholders}/g
* Relocate placeholder generation to separate getter/setter
[2010-12-21]
[2010-12-16]
* Minor: consistency nit
* Merge branches 'master' and 'master' of https://github.com/cfuhrman/log-fine
[2010-12-15]
* Refresh
* Stop the unit test from lying to syslog
[2010-12-12]
[2010-12-11]
* Bump version
* Correct instance where incorrect stack frame was logged
* Correct instance where incorrect stack frame was logged
* When subroutine name cannot be determined, assume main()
* Add additional tests
* Add debuggery in case I need it
* When subroutine name cannot be determined, assume main()
* Add additional tests
* Correct incorrect stack frame logging issue
* Correct incorrect stack frame logging issue
[2010-12-07]
* Comment verbiage
* Further Optimizations
[2010-12-04]
[2010-12-03]
* First attempt to optimize Template.pm
* Update
[2010-12-02]
* Bump version
* Close out stress test script TODO
[2010-12-01]
* Add note about support for log format templates
* Ship stresslog.pl
* Expand *.pl files
* Initial entry
* Add format() example
[2010-11-28]
* Add MICROSOFT WINDOWS CAVEATS section
* Closed out formatter tests TODO
* Place L::F::F::Template tests into separate file
* Add TODO about breaking up 04-formatter.t tests
* Overcome MSWin32 strftime(3) deficiencies
* MSWin32 does not support getgrgid() or getpwuid()
[2010-11-27]
* Update
* Match documentation w/ reality
* Verbiage
* Bump version
[2010-11-26]
* Regen
* Final TODO item about speed
* Add note about speed
* %%millis%% placeholder is now case-insensitive
* s/_fullhost/_fullHost/
[2010-11-25]
* Reference getter/setters as methods
* Close out some TODO elements
* Update with TODO items
* Test combination string and lower-case placeholders
* More notes
* Make POD documentation more assertive
* Brainstorming
* Correct SYNOPSIS
* Oops! Add support for filename and line number
* Update POD documentation
* Update with new Template class
* Update
* Initial entry
[2010-11-24]
[2010-11-23]
* Regen
* Add Login and Group
* Initial ideas for template options
* Update TODO entries
* Switch TODO file to use org-mode
* Add $VERSION
* Add CONTRIBUTING section
* Add note about template class
* Bump version
* perltidy
* Make sure user can define one and _only_ one L::F::H::S object
* Revert "Do not call closelog() if this is perl 5.8.9"
* Revert "Add CAVEATS"
* Revert "Clarify CAVEATS"
* Bump version
* Clarify CAVEATS
* Add CAVEATS
* Do not call closelog() if this is perl 5.8.9
* Use different ident when testing multiple handles
[2010-11-21]
* Bump version
* Lose RCS-style keywords
* Log failed line
* Revert "Add rcs-keyword attribute to TODO"
* Add rcs-keyword attribute to TODO
* Initial entry
* Remind myself to tell the world about git
* Bump version
[2010-11-17]
* Use a facility that is supported by older versions of perl
[2010-10-02]
* Bump version
* Correct typo
* Add README
* regen
* Revert "Remove Revision Information"
* Revert "Remove Revision Information"
* Initial entry
* Commenting & Documentation clean-up
[2010-09-21]
[2010-08-30]
* Add missing perl modules to test
* Add missing Log::Fine modules
* Remove redundant check
* Add some anti-test-report logic
* Tell Emacs what to do with itself
* Explicitly require Sys::Syslog 0.13
[2010-08-29]
[2010-08-28]
* _fatal() has been documented
[2010-07-05]
* Refresh
* Remove Revision Information
* Remove Revision Information
* Bump version
[2010-05-10]
* Clean up comments where appropriate
[2010-05-09]
* Optimize code where appropriate
* Mollify Perl::Critic
[2010-05-08]
* perltidy
* Add support for {autoclose}
* Document constructor arguments
* Explicitly set {autoflush} to 0 unless it is already defined.
* Sync
* More verbiage
* Verbiage
* Minor cleanups
[2010-04-19]
* Document _fatal()
[2010-04-09]
* Improve documentation where applicable
[2010-04-05]
* use, don't require Log::Fine::Logger
* Commenting
* Replace getter/setter functions with single function
* Set svn:ignore on sub-directories
[2010-03-15]
[2010-03-12]
* Bump version
[2010-03-10]
* Revert -r221
* Test multiple locales
[2010-03-06]
* Modify regex to handle non-English month representations found in other locales. This commit addresses the following CPAN Reports:
* Initial shot at supporting Chinese
* Branch to address the following:
[2010-03-03]
* Remind myself to tag new release based on $Log::Fine::VERSION
* Bump version and update Changes
[2010-01-03]
* Add new formatter, Syslog
* Refer to LOG_TIMESTAMP_FORMAT* via object
[2010-01-01]
* Add README for changes found in v0.30
* Style changes
* _formatTime() replaces _getFmtTime()
* Update documentation to match reality
* Add 0.30 Changes
* Regen based on r200 of Fine.pm
* Happy New Years! Bump copyright year as appropriate
* Bump version
* Add support for configurable levelmaps when using Utils.pm
* Use a single private getter/setter, _logger
* perltidy before merge to trunk
* Revert -r150:148
[2009-12-31]
* Make sure methods are declared in alphabetical order.
* Update
* Use bullet points as appropriate
* Update documentation
* Replace getSkip() with skip()
* Replace getFileHandle() with fileHandle()
* Replace setFormatter() with formatter()
* Replace setTimestamp() and getTimestamp() with timeStamp().
[2009-12-30]
* Add support for java.util.logging levels
* Add Levels classes and associated unit tests to manifest
* perltidy
* Add some negative tests
* Add some fine-grained validity checking to Logger. Also, clean up error message in Formatter.pm
* We skip 2 tests, not 3 if Test::Output isn't installed
* Test Error handling
* Add secret option "no_croak". I need to document this.
* Use Test::Output for trapping error messages
* Elaborate on error messages
* Add new method, Log::Fine::_fatal() for handling error situations. Note that this can be overridden.
[2009-12-15]
* Optimize logLevels()
* logMasks() now returns masks in ascending order by mask value
* Branch for development of better error handling
* Fix Utils.pm which now passes unit tests. While here, do some other touch-ups.
* perltidy
* Port comprehensive testing from ^/branches/LOGCONFIG branch
[2009-09-29]
[2009-09-28]
* Switch to new API (s/getLogger/logger/g)
* Make Log::Fine::Levels compatible.
[2009-09-22]
* Add support for new Log::Fine::Levels to Log::Fine::Handle. While here:
[2009-09-17]
* Add new method, bitmaskAll() for returning a mask with all possible values enabled
* Make the following changes to Log::Fine:
* Add Log::Fine::Levels* to tests
[2009-09-16]
* Remove support for clone, which isn't really needed
* Mention that this class is the default for Log::Fine::Levels
* Possible TODO: Tutorial for extending Levels class
* Fill in SYNOPSIS and DESCRIPTION of pod documentation
[2009-09-09]
[2009-09-08]
* Fill in POD documentation for Syslog module
[2009-09-03]
* Log::Fine::Levels::Syslog will now export log levels and log masks via Exporter/AutoLoader
* Fix tyop
* Set levels when initializing any Log::Fine based class. Use new Levels class where applicable. Add new API, getLevels, for getting the stored Levels object
[2009-08-17]
* Correctly match revision number. Also fix spacing
* Use subversion revision for version number
* Initial entry of Levels class and associated Syslog class Also added unit test
* Directory for holding level definitions
* Branch for development of configurable log levels
[2009-02-06]
* Add ideas about levels and callback.
[2009-02-05]
* Add 10-hires test to manifest.
* Optmize high-resolution time calculation
[2009-02-04]
* Minor formatting change
* Remind myself to regenerate README when making a release.
* Update to latest wish list
* regen
* Bump version and copyright date in Fine.pm
* Bump copyright date
* Update documentation to include information about high-resolution timestamps.
[2008-12-13]
* perltidy
* Add support for fine-grained logging via the Time::HiRes module. Also add associated test to make sure things work okay.
[2008-12-12]
* Update date
* Oops. Forgot to include Carp!
* Add error checking to Log() and OpenLog(). Also include CAVEATS section.
[2008-12-09]
[2008-12-08]
* Mention Log::Fine::Utils.
[2008-08-26]
* Fix tyop
* Bump version to 0.21
* perltidy
* Add new module, Log::Fine::Utils which provides a functional interface to Log::Fine. Also add associated test file and update manifest.
[2008-07-23]
* Don't forget to test Log::Fine::Handle::File::Timestamp. Reorder testing of modules while we're here.
* Add item for loadable log levels
[2008-07-05]
* Avoid redundant testing
* Be more intelligent about testing mask combinations. Not completely comprehesive, but getting there.
[2008-07-04]
* Maybe switch to Module::Build?
* We can just use Test::Simple for handle tests
* Bump version
* Make sure we only use Sys::Syslog when we need to
* Updated to include bitmask testing
* Welcome to 0.20
* Implemented
* Add test to make sure we don't log when we're not supposed to. This brings the total number of tests for this file to 132.
* Handles do not need {level} attribute anymore. Remove from tests while we're at it.
* Properly test mask combinations
[2008-07-02]
* Update for version 0.15
* Welcome to version 0.15
* Add TODO and include in Manifest
* Do bitmasking properly.
[2008-06-30]
[2008-06-07]
* Optimize how we grab the class name in _init()
[2008-06-06]
* Update changelog
[2008-06-03]
* regen
* Welcome to 0.14
* Set continuation indentation to 4 per http://www.openbsd.org/cgi-bin/man.cgi?query=style&apropos=0&sektion=0&manpath=OpenBSD+4.3&arch=i386&format=html
* Grammar fix ;)
[2008-05-27]
[2008-05-26]
* Welcome to 0.13!
* Addition of Checklist for when I make commits
* Bump version to reflect minor fixes
* Version 0.12
* Bump version
* Require version 0.13 of Sys::Syslog. Apparently older versions did not export tags we need.
[2008-05-25]
* Update META information to match reality. Also bump version
* Final perltidy before release
* Make sure Chris Josephs is also mentioned.
* Bump version before release
[2008-05-24]
* Effective immediately, Log::Fine is distributed under the 2-clause BSD license.
[2008-05-23]
* Link clean-up
* Clean up POD for HTML format
[2008-05-22]
* Welcome to 0.05
* regen
* Proof-read POD documentation. Clean-ups and elaborations where necessary.
* regen
* Audit POD documentation
[2008-05-21]
* regen
* We are now at version 0.04
* Add API for adjusting the timestamp within log messages. Also add a sanity check for Formatter->format().
* Give inspirational credit as appropriate. Also update documentation here and there.
* Lose redundant logger test
* Reference file handle directly in test to avoid confusion.
* Fix context leak ;)
[2008-05-20]
* Skip tests if Test::Output isn't installed
* Use Test::Output to validate printing to STDERR & STDOUT
* Lose some redundant POD documentation that slipped in.
* Fix small case of context leaking ;)
* Replace lib/Log/Fine/Handle/Test.pm with ../String.pm and update references as appropriate
* Make sure that a logger object's name doesn't include any funky characters
* Elaborate on cloning
[2008-05-16]
* Add cloning capabilities.
* Oops. s/output/console/
* Bump version
* Add two new shorthand masks: LOGMASK_ALL (for all log masks) and LOGMASK_ERROR (for LOGMASK_ERR and below).
* Per suggestion from Dan, rename Output.pm to Console.pm and update references accordingly.
* Add api for adjusting log skip. Also renamed {skip} to {_skip} indicating that it's a value that shouldn't be touched.
[2008-05-15]
* Make sure we store any new Logger object that's created. Various pod and code clean-ups while I'm here.
[2008-05-10]
[2008-05-09]
* Add some tests for both log levels and masks.
[2008-05-08]
* Bump version
* All good boys clean up after themselves!
* Blank meta file so 'make dist' works
* Initial entry of Log::Fine::Handle::File::Timestamp and associated unit test.
[2008-05-07]
* Lose $VERSION. Also add SEE ALSO section
* Revert -r12. Test.pm needed to pass 'make test'
* Log::Fine::Handle::Test is no longer necessary. Removing.
* Lose $VERSION which is only necessary in Fine.pm
* Clean up POD documentation
* new objects now take a regular hash rather than a hash ref.
* Replace all instances of BSDLog with Fine as appropriate.
* Move BSDLog.pm and friends to Fine to reflect the name of this module: Log::Fine
* The great massive perltidy into KNF!
* Set svn:keywords as appropriate
* Initial import of Log::BSDLog
* New repository setup