Contact: fumanchu@aminus.org

Log in as guest/dejavu to create tickets

root/branches/crazycache/dejavu/logflags.py

Revision 499 (checked in by fumanchu, 1 year ago)

New logflags.REGISTER.

  • Property svn:eol-style set to native
Line 
1 """Log flags (and their associated messages) for Dejavu."""
2
3
4 class LogCategory(int):
5    
6     def __new__(cls, value, message=None):
7         return int.__new__(cls, value)
8    
9     def __init__(self, value, message=None):
10         if message is not None:
11             self.message = message
12    
13     def message(self, *args):
14         return " ".join(map(repr, args))
15
16
17 ERROR = LogCategory(1)
18 IO = LogCategory(2)
19 SQL = LogCategory(4)
20
21 def message(msg):
22     return "DDL: %s" % msg
23 DDL = LogCategory(8, message)
24
25 def message(store, cls):
26     return "REGISTER: %r in store %r" % (cls, store)
27 REGISTER = LogCategory(16, message)
28
29
30
31 def message(unit):
32     return "RESERVE %s: %s" % (unit.__class__.__name__,
33                                repr(unit.identity())[:100])
34 RESERVE = LogCategory(128, message)
35
36 def message(classes, expr):
37     import dejavu
38     if isinstance(classes, dejavu.UnitJoin):
39         target = repr(classes)
40     else:
41         target = classes.__name__
42     return "RECALL %s: %r" % (target, expr)
43 RECALL = LogCategory(256, message)
44
45 def message(query, distinct):
46     d = ""
47     if distinct:
48         d = " (distinct)"
49     return "VIEW: %s%s" % (query, d)
50 VIEW = LogCategory(512, message)
51
52 def message(unit, forceSave):
53     fs = ""
54     if forceSave:
55         fs = " (forced)"
56     return "SAVE %s: %s%s" % (unit.__class__.__name__,
57                               repr(unit.identity())[:100], fs)
58 SAVE = LogCategory(1024, message)
59
60 def message(unit):
61     return "DESTROY %s: %s" % (unit.__class__.__name__,
62                                repr(unit.identity())[:100])
63 DESTROY = LogCategory(2048, message)
64
65 STORE = LogCategory(DDL | RESERVE | RECALL | VIEW | SAVE | DESTROY)
66
67 del message
Note: See TracBrowser for help on using the browser.