8 Represents a logfile. Used to write data to a file. e.g.
10 logfile = Logfile('filename')
11 print >> logfile, data
13 def __init__(self, filename, date_in_filename = True):
15 if filename.find(".log") > -1:
16 filename = filename.split(".log")[0]
17 localtime = time.localtime()
18 (year, month, day) = localtime[:3]
19 filename = "%(filename)s-%(year)s.%(month)s.%(day)s.log" % locals()
20 self.filename = filename
22 def write(self, data):
24 fd = os.open(self.filename, os.O_WRONLY | os.O_CREAT | os.O_APPEND, 0644)
25 os.write(fd, '%s' % data)
28 sys.stderr.write(data)
31 log_filename = '/var/log/qaapi.log'
32 logfile = Logfile(log_filename)
34 def log(method, method_name = None, \
35 log_filename = 'system.log', errorlog_filename = 'system_error.log'):
37 Logs whether the specified method completed successfully or not and
38 returns the method result. Use as a decorator, e.g.,
50 result = log(foo)(...)
53 logfile = Logfile(log_filename)
54 error_logfile = Logfile(errorlog_filename)
56 if method_name is None:
57 method_name = method.__name__
59 def wrapper(*args, **kwds):
61 print >> logfile, method_name + ": ",
63 #print >> logfile, args,
64 result = method(*args, **kwds)
65 print >> logfile, " [OK]"
67 print >>logfile, " [FAILED]"
68 print >> error_logfile, "%s: %s\n" % (method_name, traceback.format_exc())