ChangeLog for savelogs
=============================================================================
*Release 1.96*
----------------------------
revision 1.9
date: 2011/08/22 19:37:35; author: scott; state: Exp; lines: +7 -4
- silence warnings during dry-run
- use env perl
- clean tests for Perl 5.12+
----------------------------
*Release 1.95*
----------------------------
revision 1.8
date: 2011/08/19 15:28:16; author: scott; state: Exp; lines: +4 -4
- allow ServerRoot to have leading spaces (no other directives affected)
----------------------------
*Release 1.94*
----------------------------
revision 1.7
date: 2010/01/12 17:21:48; author: scott; state: Exp; lines: +11 -11
- dry-run documentation clarifications
----------------------------
*Release 1.93*
----------------------------
revision 1.6
date: 2009/04/01 00:42:18; author: scott; state: Exp; lines: +4 -2
- clean up a warning when the chown value doesn't have ':'
*Release 1.92*
----------------------------
revision 1.5
date: 2008/12/19 05:18:00; author: scott; state: Exp; lines: +19 -2
- documentation update
----------------------------
revision 1.4
date: 2008/12/19 05:12:50; author: scott; state: Exp; lines: +8 -2
- new 'disabled' directive for <Group> blocks
*Release 1.91*
----------------------------
revision 1.3
date: 2008/12/16 04:47:25; author: scott; state: Exp; lines: +56 -22
- allow datefmt and other non-periodic rotation directives to work in
a Group block
*Release 1.90*
----------------------------
revision 1.2
date: 2008/11/29 15:52:45; author: scott; state: Exp; lines: +276 -60
- new <Group> configuration file directive and processing
----------------------------
revision 1.1
date: 2007/11/01 19:10:57; author: scott; state: Exp;
- initial import of savelogs 1.81
*Release 1.81*
----------------------------
revision 1.12
date: 2004/08/30 18:02:43; author: scottw; state: Exp; lines: +17 -19
- fix bug in how hosts are gathered via ApacheHost directive
- additional documentation
----------------------------
revision 1.11
date: 2004/08/23 19:03:22; author: scottw; state: Exp; lines: +2 -2
- fix version date
----------------------------
revision 1.10
date: 2004/08/23 18:59:13; author: scottw; state: Exp; lines: +7 -4
- add item to "todo" list
----------------------------
revision 1.9
date: 2004/08/23 18:48:47; author: scottw; state: Exp; lines: +1 -1
- add new directives to lint
- minor doc fixes
----------------------------
revision 1.8
date: 2004/08/23 18:35:07; author: scottw; state: Exp; lines: +30 -0
- documentation updates
----------------------------
revision 1.7
date: 2004/08/23 18:14:37; author: scottw; state: Exp; lines: +178 -186
- add chown directive
- add chmod directive
- add apachehost directive (find logs by hostname in VirtualHost block)
*Release 1.70*
----------------------------
revision 1.6
date: 2003/08/14 20:15:47; author: scottw; state: Exp; lines: +64 -26
- new ApacheInclude directive; follows Apache's Include directive to
find more log files.
----------------------------
revision 1.5
date: 2003/08/04 16:30:07; author: scottw; state: Exp; lines: +170 -81
- add code to follow Apache 'Include' directives
*Release 1.66*
----------------------------
revision 1.4
date: 2003/03/18 17:00:21; author: scottw; state: Exp; lines: +14 -1
- add acknowledgements
*Release 1.65*
----------------------------
revision 1.3
date: 2003/03/17 23:32:47; author: scottw; state: Exp; lines: +1 -1
- use blib/script/savelogs for tests
*Release 1.63*
----------------------------
revision 1.2
date: 2003/03/13 23:05:01; author: scottw; state: Exp; lines: +3 -3
- restore pods to makefile
- version update
*Release 1.63*
----------------------------
revision 1.1
date: 2003/03/07 21:54:08; author: scottw; state: Exp;
- move savelogs; fix makefile
*Release 1.62*
----------------------------
revision 1.37
date: 2003/02/12 21:49:04; author: scottw; state: dead; lines: +0 -0
- move savelogs to bin/savelogs.PL
*Release 1.61*
----------------------------
revision 1.36
date: 2003/02/12 07:51:27; author: scottw; state: Exp; lines: +1 -1
- just a version change for package
----------------------------
revision 1.35
date: 2003/02/11 20:50:37; author: scottw; state: Exp; lines: +2 -2
- change perl path
*Release 1.60*
----------------------------
revision 1.34
date: 2003/02/11 20:18:36; author: scottw; state: Exp; lines: +1 -1
- update version string
----------------------------
revision 1.33
date: 2003/02/11 20:17:45; author: scottw; state: Exp; lines: +1 -1
- fix bad 'goto' target
----------------------------
revision 1.32
date: 2003/02/11 19:31:13; author: scottw; state: Exp; lines: +1 -1
- add "grep -v 'no $binary'" to find_binary chunk (workaround for broken Solaris 'which')
----------------------------
revision 1.31
date: 2003/02/11 19:12:30; author: scottw; state: Exp; lines: +107 -93
- refactor initialization/default setting chunk (setting configuration options)
*Release 1.50*
----------------------------
revision 1.30
date: 2002/12/06 23:38:10; author: scottw; state: Exp; lines: +111 -40
- allow $LOG in postmovehook and postfilterhook phases
- regression tests for these phases
----------------------------
*Release 1.42*
----------------------------
revision 1.29
date: 2002/12/06 19:28:08; author: scottw; state: Exp; lines: +14 -4
- some minor documentation changes
----------------------------
revision 1.28
date: 2002/06/27 18:21:53; author: scottw; state: Exp; lines: +6 -2
- add examples of datefmt
----------------------------
*Release 1.41*
----------------------------
revision 1.27
date: 2002/05/02 18:47:12; author: scottw; state: Exp; lines: +35 -18
- version 1.40 had a backward incompatibility in how it dealt with
empty log queues; prior to 1.40 if a log queue became empty because
logs were culled for size reasons, no "You must specify one or more
log files" warning was issued. Version 1.40 _would_ issue an error
regardless of how the queue was emptied because of a loop
optimization; this revision (1.41) restores the old behavior.
- regression tests added to check for this warning
----------------------------
revision 1.26
date: 2002/04/30 22:29:32; author: scottw; state: Exp; lines: +3 -3
- typo fixt
----------------------------
*Release 1.40*
----------------------------
revision 1.25
date: 2002/04/30 20:16:56; author: scottw; state: Exp; lines: +121 -64
- added 'NoLog' directive to exclude/cull specified logs
* uses shell globbing like 'Log' directive
* smart enough to find logs based on inode (not just path) so
symlinked paths are ok
* lots of documentation (rotation.pod includes new example, too)
* regression tests added
- better error handling in ApacheConf (fetch_apache_logs)
* handles empty/nonexistent files
* no more fatal exceptions in this function when absent logs
- condensed fetch_logs and cull phases into one phase, one loop
- added 'fulllog' data member to log object (shaves off a half-dozen
calls to mkpath)
- pre-compressed file check now pre-compiled regex
- backward compatible with all 1.x versions
----------------------------
*Release 1.33*
----------------------------
revision 1.24
date: 2002/02/28 19:46:27; author: scottw; state: Exp; lines: +55 -69
- use strftime to format the date extension
- removed 'smalldate' from the distribution
- cleaned up some undef bugs in find_binary()
----------------------------
revision 1.23
date: 2002/01/07 19:02:29; author: scottw; state: Exp; lines: +3 -3
- fixup minor pod problem
----------------------------
*Release 1.32*
----------------------------
revision 1.22
date: 2002/01/07 18:22:07; author: scottw; state: Exp; lines: +116 -113
- move stem phase after filter phase so that analysis programs can
have post filtered logs.
----------------------------
revision 1.21
date: 2002/01/03 04:43:31; author: scottw; state: Exp; lines: +57 -19
- update documentation
----------------------------
*Release 1.31*
----------------------------
revision 1.20
date: 2002/01/03 03:10:30; author: scottw; state: Exp; lines: +43 -4
- added postfilterhook
----------------------------
*Release 1.30*
----------------------------
revision 1.19
date: 2001/11/02 21:12:48; author: scottw; state: Exp; lines: +31 -10
- added 'nogripe' option to turn off griping when there are no logs
----------------------------
*Release 1.29*
----------------------------
revision 1.18
date: 2001/10/24 23:38:08; author: scottw; state: Exp; lines: +3 -3
- raise globbing debug output one level
----------------------------
revision 1.17
date: 2001/10/23 15:27:21; author: scottw; state: Exp; lines: +4 -4
clean license
----------------------------
revision 1.16
date: 2001/10/22 16:28:03; author: scottw; state: Exp; lines: +91 -13
- globbing capability with Log directive added (uses Perl's internal
glob operator). Now you can do stuff like this:
Log /www/logs/access_log.*
and savelogs will find matching logs--implicitly omitting
*(\.tar|\.t?gz)
----------------------------
*Release 1.28*
----------------------------
revision 1.15
date: 2001/10/02 22:42:47; author: scottw; state: Exp; lines: +42 -31
- wrapped stemhook phase with dry-run (so it won't execute under dry-run)
- simplified mk_path to take arbitrary arguments
----------------------------
revision 1.14
date: 2001/09/25 20:20:31; author: scottw; state: Exp; lines: +17 -7
- add $HOME StemHook variable
- document $HOME variable
----------------------------
revision 1.13
date: 2001/09/25 17:05:30; author: scottw; state: Exp; lines: +237 -35
- changed default apachelogexclude directive to include '|' (pipe)
- added stem, stemhook, stemlink directives to allow an external
program to find a consistently named log file
- added some debugging code to fetch_logs phase
- outdented postmovehook section from if clause (do quick exit with 'last')
- added stem code which creates a symbolic (or other specified type)
link to the already moved file. The symlink is well-named for an
external program (ala analog, urchin, etc.) to find a dynamically
named log easily.
- added poststemhook which executes an external program, much like
postmovehook. After poststemhook executes, the symlink stem is removed.
- documentation chanages
- version string updated
----------------------------
*Release 1.27*
----------------------------
revision 1.12
date: 2001/09/14 17:32:19; author: scottw; state: Exp; lines: +19 -42
- fix long standing bug where duplicate log files were not detected;
we do inode-based duplicate detection
----------------------------
revision 1.11
date: 2001/09/13 22:41:47; author: scottw; state: Exp; lines: +4 -4
- escape a '$' in the help output so that perl doesn't see "$'" as a
variable
----------------------------
revision 1.10
date: 2001/09/13 20:24:40; author: scottw; state: Exp; lines: +7 -10
- fix long standing bug where archive pathname was being ignored if
the archive is created in the same directory as some of the logs
being stored.
----------------------------
revision 1.9
date: 2001/09/13 18:11:31; author: scottw; state: Exp; lines: +9 -7
- fix typo in debug output
- fix attempted modification of constant in debug funtion
- use Cwd::abs_path instead of File::Basename::dirname to determine paths
----------------------------
revision 1.8
date: 2001/09/12 21:54:48; author: scottw; state: Exp; lines: +48 -3
- if the archive option is given, add the archive process option by
default (except under periodic rotation)
----------------------------
revision 1.7
date: 2001/09/12 18:12:13; author: scottw; state: Exp; lines: +3 -2
- add comment to sample configuration file
----------------------------
*Release 1.26*
----------------------------
revision 1.5
date: 2001/09/11 19:43:38; author: scottw; state: Exp; lines: +31 -6
- added logic to skip postmovehook phase if there are no logs
- added force-pmh option to execute postmovehook even in absence of logs
- capture postmovehook command output and direct it to log file under loglevel 5
----------------------------
revision 1.4
date: 2001/09/07 17:29:31; author: scottw; state: Exp; lines: +44 -44
doc updates
----------------------------
revision 1.3
date: 2001/08/29 20:14:26; author: scottw; state: Exp; lines: +30 -41
- changed default log level
- removed inaccessible code sections
- made fixup section chained 'elsif's instead of 'if's
- fixed a couple of defined but false tests
----------------------------
*Release 1.25*
----------------------------
revision 1.2
date: 2001/08/28 20:20:22; author: scottw; state: Exp; lines: +46 -14
- made 'filter' option automatically enable filter process option
- cleaned up process option word checking regular expressions
----------------------------
revision 1.1
date: 2001/08/27 23:29:51; author: scottw; state: Exp;
- fixed 'settings' output to use only one output stream
----------------------------
Re-imported into CVS using different versioning method; CPAN-ized,
etc. Sorry about the duplicated revision strings below. Everything
above here is beginning version 1.24.
----------------------------
revision 1.22
2001/08/16 19:39:04
- added 'Log' directive to process logs in a configuration file;
- updated documentation, cleaned references with incomplete paths,
clarified use of backticks in a configuration file (i.e., no-no).
- added sample 'Log' directive use to sample configuration file
----------------------------
revision 1.21
2001/08/13 19:38:28
- enabled --period option to have the same argument as --count
- fixup documentation
- changed default process option to 'move,compress' instead of 'all'
----------------------------
revision 1.20
2001/08/01 15:49:42
- fixed docs to use single quoting for filters
----------------------------
revision 1.19
2001/07/17 21:58:02
- fixed count default;
- made process=move,compress by default under the --period option (or
if filter is already specified, move,filter,compress)
----------------------------
revision 1.18
2001/07/07 22:02:29
- fix for undefined value under cron execution
----------------------------
revision 1.17
2001/07/06 21:49:11
- added '=back' pod directive to fix html output
----------------------------
revision 1.16
2001/07/06 20:03:13
- more documentation changes
----------------------------
revision 1.15
2001/07/06 19:39:05
- additional documentation; no code changes.
----------------------------
revision 1.14
2001/06/27 15:59:26
- add workaround for Solaris 'which' (ack! it's written in csh!)
----------------------------
revision 1.13
2001/06/26 21:56:36
- combine how logs are fetched from httpd.conf and @ARGV;
- use pipe-to open instead of backticks for finding system binaries
----------------------------
revision 1.12
2001/06/21 15:26:17
- changed die calls to write_log(LEVEL0, $msg) calls as documented
- many documentation improvements and additional examples
----------------------------
revision 1.11
2001/06/21 13:19:51
- fixed case where the same log file is specified several times. We now
only process unique (based on pathname, not realname) logs.
----------------------------
revision 1.10
2001/06/20 15:42:10
- remove single quotes around sample configuration file apachelog
directive in docs
----------------------------
revision 1.9
2001/06/11 21:25:27
- added 'period', 'count', and 'touch' directives and documentation
----------------------------
revision 1.8
2001/05/31 19:15:56
- simplified how savelogs finds binaries it's looking for
- fixed case where user may wish to change compression formats
----------------------------
revision 1.7
2001/05/30 23:45:17
- added start and end logging lines at level1 logging.
----------------------------
revision 1.6
2001/05/30 23:42:51
- cleaned up logging statements and debugging statements
- added complete usage output for --help or bad command-line arguments
----------------------------
revision 1.5
2001/05/25 23:38:06
- more documentation
- multiple apachelogexclude lines allowed in config file and command-line
- clobber implemented
- --archive option fixed
- --full-path option replaced --archive-paths option
- more robust in presence of errors
----------------------------
revision 1.4
2001/05/24 23:33:16
- Huge documentation updates. More to come tomorrow.
----------------------------
revision 1.3
2001/05/23 21:18:40
- add code for filter phase (philter fase?)
----------------------------
revision 1.2
2001/05/23 20:16:24
- alpha quality--test suite forthcoming
----------------------------
revision 1.1
2001/05/18 19:53:52
- initial import of savelogs
=============================================================================