########################################################################## # $Id: onlyservice,v 1.11 2008/05/03 15:29:06 mike Exp $ ########################################################################## ######################################################## ## Copyright (c) 2008 Kirk Bauer ## Covered under the included MIT/X-Consortium License: ## http://www.opensource.org/licenses/mit-license.php ## All modifications and contributions by other persons to ## this script are assumed to have been donated to the ## Logwatch project and thus assume the above copyright ## and licensing terms. If you want to make contributions ## under your own copyright or a different license this ## must be explicitly stated in the contribution an the ## Logwatch project reserves the right to not accept such ## contributions. If you have made significant ## contributions to this script and want to claim ## copyright please contact logwatch-devel@lists.sourceforge.net. ######################################################### # This will pick out only the wanted service from a logfile # in the standard /var/log/messages format. Case insensitive. $ServiceName = $ARGV[0]; if ( $ENV{'LOGWATCH_DEBUG'} > 5 ) { print STDERR "DEBUG: Inside OnlyService for $ServiceName\n"; } while (defined($ThisLine = <STDIN>)) { if ($ThisLine =~ m/^... .. ..:..:..[ ]*[^ ]* $ServiceName(\[[0123456789]*\])?:? /io) { print $ThisLine; } elsif ($ThisLine =~ m/^... .. ..:..:.. [^ ]* [^ ]*(\[[0123456789]*\])?: \[ID [0-9]+ $ServiceName/io) { print $ThisLine; } } # vi: shiftwidth=3 syntax=perl tabstop=3 et # Local Variables: # mode: perl # perl-indent-level: 3 # indent-tabs-mode: nil # End: