X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=mtail.py;h=954b1e522d62a77e8dd3540028c688c3f26ce0c4;hb=317691fe5e8de0459450c40f977ed12c192aa8c8;hp=0e5b423a1b21b9c115eee0f95cb46d2cea73a6bd;hpb=3cf48f0bc025835de0849a60d8f80f17d5c33d42;p=myplc.git diff --git a/mtail.py b/mtail.py index 0e5b423..954b1e5 100755 --- a/mtail.py +++ b/mtail.py @@ -34,7 +34,7 @@ example: parser.add_option("-p","--period", type="int", dest="tail_period", default=1, help="Files check period in seconds") # rescan_period - parser.add_option("-d","--dir-period", type="int", dest="rescan_period", default=20, + parser.add_option("-d","--dir-period", type="int", dest="rescan_period", default=5, help="Directories rescan period in seconds") # time format parser.add_option("-f","--format", dest="time_format", default=mtail.default_time_format, @@ -55,14 +55,17 @@ example: help="Run in verbose mode") (self.options, self.args) = parser.parse_args(args) - self.optparse = parser + self.option_parser = parser ### plc shortcuts if self.options.plc_mode: + # monitor all files in /var/log with some exceptions self.options.excludes.append('*access_log') self.options.excludes.append('*request_log') self.options.excludes.append('*.swp') self.args.append('/var/log') + # watch the postgresql logs as well + self.args.append('/var/lib/pgsql/data/pg_log') if self.options.verbose: print 'Version:',self.subversion_id @@ -70,7 +73,11 @@ example: print 'Arguments:',self.args def file_size (self,filename): - return os.stat(filename)[6] + try: + return os.stat(filename)[6] + except: + print "WARNING: file %s has vanished"%filename + return 0 def number_files (self): return len(self.files) @@ -165,7 +172,11 @@ example: print label, def show_file_end (self, filename, offset, size): - file = open(filename,"r") + try: + file = open(filename,"r") + # file has vanished + except: + return file.seek(offset) line=file.read(size-offset) self.show_now() @@ -214,8 +225,8 @@ example: def run (self): - if self.number_files() == 0: - self.optparse.print_help() + if len(self.args) == 0: + self.option_parser.print_help() sys.exit(1) counter = 0