ChangeLog for savelogs ============================================================================= *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 =============================================================================