1
2 from configParser import C3Object
3 from PyZ3950.CQLParser import PrefixableObject
4 import os, time, sys
5 from baseObjects import Session, Logger
6
8
9 fileh = None
10 lineCache = []
11 cacheLen = 0
12
13 - def __init__(self, session, config, parent):
14 Logger.__init__(self, session, config, parent)
15 fp = self.get_path(None, 'filePath')
16 if (fp == "stdout"):
17 self.fileh = sys.stdout
18 elif (fp == "stderr"):
19 self.fileh = sys.stderr
20 else:
21 if (not os.path.isabs(fp)):
22 dfp = self.get_path(None, 'defaultPath')
23 fp = os.path.join(dfp, fp)
24 self.fileh = file(fp, 'a')
25 clen = self.get_setting(None, 'cacheLength')
26 if clen:
27 self.cacheLen = int(clen)
28 else:
29 self.cacheLen = 0
30
31 - def log(self, session, txt):
32 now = time.strftime("%Y-%m-%d %H:%M:%S")
33 line = "[%s]: %s" % (now, txt)
34 self._logLine(line)
35
46
47
49
50 - def __init__(self, session, config, parent):
53
55 if (isinstance(a, C3Object)):
56 return a.id
57 elif (isinstance(a, Session)):
58 return "Session(%s)" % (a.user)
59 elif (isinstance(a, PrefixableObject)):
60 return repr(a.toCQL())
61 else:
62 return repr(a)
63
64 - def log(self, object, fn, *args, **kw):
65
66 frame = sys._getframe(2)
67 caller = frame.f_code.co_name
68 now = time.strftime("%Y-%m-%d %H:%M:%S")
69 line = ["[%s]: from %s() : %s.%s(" % (now, caller, object.id, fn)]
70 ln = []
71 for a in args:
72 ln.append(self._myRepr(a))
73 for k in kw:
74 ln.append("%s=%s" % (k, self._myRepr(kw[k])))
75 atxt = ','.join(ln)
76 line.append(atxt)
77 line.append(")")
78 line = ''.join(line)
79
80 self._logLine(line)
81