| 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 |
|---|