7 Represents a logfile. Used to write data to a file. e.g.
9 logfile = Logfile('filename')
10 print >> logfile, data
12 def __init__(self, filename):
13 self.filename = filename
15 def write(self, data):
17 fd = os.open(self.filename, os.O_WRONLY | os.O_CREAT | os.O_APPEND, 0644)
18 os.write(fd, '%s' % data)
21 sys.stderr.write(data)
26 logfile = Logfile('qaapi.log')
28 def log(method, method_name = None, \
29 log_filename = 'system.log', errorlog_filename = 'system_error.log'):
31 Logs whether the specified method completed successfully or not and
32 returns the method result. Use as a decorator, e.g.,
44 result = log(foo)(...)
47 logfile = Logfile(log_filename)
48 error_logfile = Logfile(errorlog_filename)
50 if method_name is None:
51 method_name = method.__name__
53 def wrapper(*args, **kwds):
55 print >> logfile, method_name + ": ",
57 #print >> logfile, args,
58 result = method(*args, **kwds)
59 print >> logfile, " [OK]"
61 print >>logfile, " [FAILED]"
62 print >> error_logfile, "%s: %s\n" % (method_name, traceback.format_exc())