Apache-Logmonster
view release on metacpan or search on metacpan
testing changes, to resolve test errors on Windows
3.11 - Apr 2013
testing & packing changes
3.09 - Apr 2013
packaging changes
3.08 - Dec 2012
added missing URL dependency
updated bin/install_deps.pl
3.07 - Oct 2012
removed Perl.pm
updated Utility.pm to v 5.35
stripped out apache httpd.conf parsing. Instead, detect vhosts from the log files (works with any http server)
added confdir (path to processor config files)
statsdir is now a full path to a directory
the 'drop logs into vhost docroot" feature is gone, pending a clever way to reliably deduce the vhost document root for various web servers.
removed vhost config option
added default_vhost option
moved _progress subs into Logmonster.pm
removed get_domains_list, check_stats_dir, get_domains_list_from_directories, get_vhosts_from_file, install_default_awstats_conf, turn_domains_into_sort_key
abstracted new subs: get_log_files, spam_check, open_vhost_handle, report_matches, report_spam_hits, report_bad_hits,
added lighttpd config entries to instructions
3.05 - Sep 2008
removed inc/* from distribution
updated Makefile.PL, adding LICENSE and missing dependencies
moved logmonster.pl into bin dir
replaced bin/install_freebsd_deps.sh with install_deps.pl
added 'make deps' target to Makefile.PL
3.04 - Nov 2007
included "inc"' in modules
Utility.pm - only attempt to use sudo as a last resort
Utility.pm & Utility.t- synced with Mail::Toaster
moved Regexp::Log to inc dir
Added Params::Validate dependency to Makefile.PL
Fixed bug where time offset was being ignored.
Checks more locations for awstats.pl (needs to become a config file
settings).
Removed an unnecessary dependency on Mail::Toaster in Utility.pm.
3.00rc2 - Oct 14, 2006
* updated usage examples
* added FAQ
* updated META.yml to new format
* email report formatting
added OUTPUT_AUTOFLUSH b/c printing to *STDERR flushes immediately
and mixed print statements did not. Email report is better formatted
now.
* added inc/Module/Install
* added Build.PL
t/pod-coverage, t/00.load
Nearly all the "working" code has been moved into
lib/Apache/Logmonster.pm. Logmonster.pl is now a "shell" consisting of a
little bit of code and a lot of documentation.
All the functions are now Object Oriented. Time will tell if that is a A
Good Thing[TM] but it makes reading the code and understanding where all
the calls are going much, much easier. added doc/*
The documentation has been significantly updated, addressing many of the
common questions and comments I have received.
The reporting has been overhauled. You still get the same information
but by default, if everything is okay it runs entirely silently. A
single -v will output status messages that make for a nice birds eye
view of your web log traffic. You can add additional -v options for even
more verbose reporting.
Interface change: instead of -m for month, -d for day, and -h for hour,
you use a -i [hour|day|month] option. The old -mdh options are
now works regardless of order in the vhost container.
* If a perl module was missing, the script would fail after attempting
to load Mail::Toaster::Perl (which may not exist) Added
Apache::Logmonster::Perl to distro
2.74 - Nov 26, 2004
package is now named Apache::Logmonster to fit nicely into a CPAN category
bundled up for CPAN & freshmeat release
Makefile.PL
updated package NAME
removed MATT::* dependency, added Compress::Zlib dep
logmonster.pl
updated package name
added more example settings to logmonster.conf
cleaned up pod docs for prettier web page formatting
added TODO file
remove MATT::Bundle reference from FAQ
2.73 - Nov 12, 2004
updated lib/Logmonster/Utility to latest
fixed get_the_date bug in Utility
added many more tests for Utility
fixed a bug in my fileparse call (File::Basename)
2.72 - Nov 11, 2004
Removed MATT::Utility dependency
added lib/logmonster/Utility (logmonster::Utility)
removed Exporter
updates for use with logmonster::Utility
replaced StripLastDirFromPath with File::Basename
lib/Apache/Logmonster/Utility.pm view on Meta::CPAN
) if ( $uid && $gid ); # set ownership on new existing file
$self->chmod(
file_or_dir => $existing,
mode => $mode,
sudo => $sudo,
%args
)
if $mode; # set file permissions (paranoid)
$log->audit( " updated $existing" );
return 1;
}
sub install_if_changed_copy {
my $self = shift;
my ( $sudo, $newfile, $existing, $clean, $args ) = @_;
# install the new file
if ($sudo) {
my $cp = $self->find_bin( 'cp', %$args );
lib/Apache/Logmonster/Utility.pm view on Meta::CPAN
return if ! -f $existing;
# email diffs to admin
eval { require Mail::Send; };
return $log->error( "could not send notice, Mail::Send is not installed!", fatal => 0)
if $EVAL_ERROR;
my $msg = Mail::Send->new;
$msg->subject("$existing updated by $0");
$msg->to($email);
my $email_message = $msg->open;
print $email_message "This message is to notify you that $existing has been altered. The difference between the new file and the old one is:\n\n$diffie";
$email_message->close;
};
sub install_from_source {
my $self = shift;
( run in 0.394 second using v1.01-cache-2.11-cpan-05444aca049 )