'''
import os, sys, time
+import select
+import sys, tty, termios
+
from optparse import OptionParser
class mtail:
parser.add_option("-u","--usual",action="store_true",dest="plc_mode",default=False,
help="Shortcut for watching /var/log with default settings")
+ parser.add_option("-s","--sfa",action="store_true",dest="sfa_mode",default=False,
+ help="Shortcut for monitoring server-side SFA log files")
# verbosity
parser.add_option("-v","--verbose", action="store_true", dest="verbose", default=False,
# watch the postgresql logs as well
self.args.append('/var/lib/pgsql/data/pg_log')
+ if self.options.sfa_mode:
+ self.args.append("/var/log/sfa.log")
+ self.args.append("/var/log/sfa_import.log")
+ self.args.append("/var/log/httpd/sfa_access_log")
+
if self.options.verbose:
print 'Version:',self.subversion_id
print 'Options:',self.options
sys.exit(1)
counter = 0
- while 1:
+ fdin = sys.stdin.fileno()
+ while True:
## hit the period ?
# dont do this twice at startup
if (counter !=0 and counter % self.options.rescan_period == 0):
time.sleep(1)
counter += 1
-
+ # react on some keys - rough but convenient
+ if os.isatty(fdin):
+ # read stdin
+ typed=[]
+ while select.select([sys.stdin,],[],[],0.0)[0]:
+ typed.append(sys.stdin.read(1))
+# print 'found chars',typed
+ for char in typed:
+ if char.lower() in ['l']: os.system("clear")
+ elif char.lower() in ['m']:
+ for i in range(3) : print 60 * '='
+ elif char.lower() in ['q']: sys.exit(0)
+ elif char.lower() in ['h']:
+ print """l: refresh page
+m: mark
+q: quit
+h: help"""
+
###
if __name__ == '__main__':
mtail (sys.argv[1:]).run()