Skip to content

Commit 610ab78

Browse files
committed
feat: add consistent logging at INFO and DEBUG levels
The goal is to make viewing the logs at the INFO level nice when manually reviewing log output and to make the DEBUG output comprehensive for everything except escrow logging.
1 parent daf9cda commit 610ab78

File tree

13 files changed

+119
-74
lines changed

13 files changed

+119
-74
lines changed

src/keri/app/cli/commands/ipex/join.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def joinDo(self, tymth, tock=0.0):
104104
self.tock = tock
105105
_ = (yield self.tock)
106106

107-
print("Waiting for group ipex events...")
107+
print("IPEX JoinDoer: Waiting for group ipex events...")
108108

109109
while True:
110110

src/keri/app/cli/commands/multisig/incept.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ def inceptDo(self, tymth, tock=0.0):
156156
serder=exn,
157157
attachment=ims)
158158

159-
print(f"Group identifier inception initialized for {ghab.pre}")
159+
logger.info(f"MS Incept: Group identifier inception initialized for {ghab.pre}")
160160
prefixer = coring.Prefixer(qb64=ghab.pre)
161161
seqner = coring.Seqner(sn=0)
162162
saider = coring.Saider(qb64=prefixer.qb64)

src/keri/app/cli/commands/multisig/join.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def joinDo(self, tymth, tock=0.0):
111111
self.tock = tock
112112
_ = (yield self.tock)
113113

114-
print("Waiting for group multisig events...")
114+
print("MS JoinDoer: Waiting for group multisig events...")
115115

116116
while self.notifier.noter.notes.cntAll() == 0:
117117
yield self.tock

src/keri/app/delegating.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ def processPartialWitnessEscrow(self):
188188
witnessed = True
189189
if not witnessed:
190190
continue
191-
print(f"Witness receipts complete, {pre} confirmed.")
191+
print(f"Sealer: Witness receipts complete, {pre} confirmed.")
192192
self.hby.db.dpwe.rem(keys=(pre, said))
193193
self.hby.db.cdel.put(keys=(pre, seqner.qb64), val=coring.Saider(qb64=serder.said))
194194

src/keri/app/grouping.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def start(self, ghab, prefixer, seqner, saider):
5151
serder = serdering.SerderKERI(raw=evt)
5252
del evt[:serder.size]
5353

54-
print(f"Waiting for other signatures for {serder.pre}:{seqner.sn}...")
54+
logger.info(f"Counselor: Multisig start; Waiting for other signatures for {serder.ilk} {serder.pre}:{seqner.sn}...")
5555
return self.hby.db.gpse.add(keys=(prefixer.qb64,), val=(seqner, saider))
5656

5757
def complete(self, prefixer, seqner, saider=None):
@@ -133,7 +133,7 @@ def processPartialSignedEscrow(self):
133133
if kever.delegated and kever.ilk in (coring.Ilks.dip, coring.Ilks.drt):
134134
# We are a delegated identifier, must wait for delegator approval for dip and drt
135135
if witered: # We are elected to perform delegation and witnessing messaging
136-
print(f"We are the witnesser, sending {pre} to delegator")
136+
logger.info(f"Counselor: We are the witnesser, sending {pre} to delegator")
137137
self.swain.delegation(pre=pre, sn=seqner.sn)
138138
else:
139139
anchor = dict(i=pre, s=seqner.snh, d=saider.qb64)
@@ -142,15 +142,15 @@ def processPartialSignedEscrow(self):
142142
else:
143143
self.witq.query(src=ghab.mhab.pre, pre=kever.delegator, anchor=anchor)
144144

145-
print("Waiting for delegation approval...")
145+
logger.info(f"Counselor: Waiting for delegation approval...")
146146
self.hby.db.gdee.add(keys=(pre,), val=(seqner, saider))
147147
else: # Non-delegation, move on to witnessing
148148
if witered: # We are elected witnesser, send off event to witnesses
149-
print(f"We are the fully signed witnesser {seqner.sn}, sending to witnesses")
149+
logger.info(f"Counselor: We are the fully signed witnesser {seqner.sn}, sending to witnesses")
150150
self.witDoer.msgs.append(dict(pre=pre, sn=seqner.sn))
151151

152152
# Move to escrow waiting for witness receipts
153-
print(f"Waiting for fully signed witness receipts for {seqner.sn}")
153+
logger.info(f"Counselor: Waiting for fully signed witness receipts for {seqner.sn}")
154154
self.hby.db.gpwe.add(keys=(pre,), val=(seqner, saider))
155155

156156
def processDelegateEscrow(self):
@@ -170,7 +170,7 @@ def processDelegateEscrow(self):
170170
if witer: # We are elected witnesser, We've already done out part in Boatswain, we are done.
171171
if self.swain.complete(prefixer=kever.prefixer, seqner=coring.Seqner(sn=kever.sn)):
172172
self.hby.db.gdee.rem(keys=(pre,))
173-
print(f"Delegation approval for {pre} received.")
173+
logger.info(f"Counselor: Delegation approval for {pre} received.")
174174

175175
self.hby.db.cgms.put(keys=(pre, seqner.qb64), val=saider)
176176

@@ -181,10 +181,10 @@ def processDelegateEscrow(self):
181181
dgkey = dbing.dgKey(pre, saider.qb64b)
182182
self.hby.db.setAes(dgkey, couple) # authorizer event seal (delegator/issuer)
183183
self.hby.db.gdee.rem(keys=(pre,))
184-
print(f"Delegation approval for {pre} received.")
184+
logger.info(f"Counselor: Delegation approval for {pre} received.")
185185

186186
# Move to escrow waiting for witness receipts
187-
print(f"Waiting for witness receipts for {pre}")
187+
logger.info(f"Counselor: Waiting for witness receipts for {pre}")
188188
self.hby.db.gdee.rem(keys=(pre,))
189189
self.hby.db.gpwe.add(keys=(pre,), val=(seqner, saider))
190190

@@ -212,7 +212,7 @@ def processPartialWitnessEscrow(self):
212212
witnessed = True
213213
if not witnessed:
214214
continue
215-
print(f"Witness receipts complete, {pre} confirmed.")
215+
logger.info(f"Counselor: Witness receipts complete, {pre} confirmed.")
216216
self.hby.db.gpwe.rem(keys=(pre,))
217217
self.hby.db.cgms.put(keys=(pre, seqner.qb64), val=saider)
218218
elif not witer:
@@ -243,6 +243,7 @@ def handle(self, serder, attachments=None):
243243
attachments (list): list of tuples of pather, CESR SAD path attachments to the exn event
244244
245245
"""
246+
logger.info("MultisigNotificationHandler: handling %s event SAID=%s", self.resource, serder.said)
246247
self.mux.add(serder=serder)
247248

248249

src/keri/core/eventing.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2294,7 +2294,7 @@ def valSigsDelWigs(self, serder, sigers, verfers, tholder,
22942294
if delseqner and delsaider:
22952295
self.escrowPACouple(serder=serder, seqner=delseqner, saider=delsaider)
22962296
msg=(f"Failure satisfying sith = {tholder.sith} "
2297-
f"on sigs {[siger.qb64 for siger in sigers]}"
2297+
f"on sigs {[siger.qb64 for siger in sigers]} "
22982298
f"for evt = {serder.said}")
22992299
logger.trace(msg)
23002300
logger.trace("Event Body=\n%s\n", serder.pretty())
@@ -2496,8 +2496,9 @@ def validateDelegation(self, serder, sigers, wigers=None, delseqner=None, delsai
24962496
# during initial delegation we just escrow the delcept event
24972497
if delseqner is None and delsaider is None and delegator is not None:
24982498
self.escrowPSEvent(serder=serder, sigers=sigers, wigers=wigers)
2499-
raise MissingDelegationError("No delegation seal for delegator {} "
2500-
"with evt = {}.".format(delegator, serder.ked))
2499+
msg = (f"No delegation seal for delegator {delegator} with event = {serder.said}")
2500+
logger.debug("Event Body=\n%s\n", serder.pretty())
2501+
raise MissingDelegationError(msg)
25012502

25022503
ssn = validateSN(sn=delseqner.snh, inceptive=False) # delseqner Number should already do this
25032504
#ssn = sner.num sner is Number seqner is Seqner need to replace Seqners with Numbers
@@ -2710,12 +2711,13 @@ def logEvent(self, serder, sigers=None, wigers=None, wits=None, first=False,
27102711
dtsb = dater.dtsb
27112712
self.db.setDts(dgkey, dtsb) # first seen so set dts to now
27122713
self.db.fons.pin(keys=dgkey, val=Seqner(sn=fn))
2713-
logger.info("Kever: First seen ordinal %s dig: %s at %s",
2714-
fn, serder.pre, dtsb.decode())
2714+
logger.debug("Kever: First seen %s %s SAID=%s for %s at %s",
2715+
fn, serder.ilk, serder.said, serder.pre, dtsb.decode("utf-8"))
27152716
logger.debug("Event Body=\n%s\n", serder.pretty())
27162717
self.db.addKe(snKey(serder.preb, serder.sn), serder.saidb)
2717-
logger.info("Kever: Added to KEL valid %s event %s for AID %s", serder.ilk, serder.said, serder.pre)
2718-
logger.debug("KEL Event Body=\n%s\n", serder.pretty())
2718+
logger.info("Kever [%.8s]: Added to KEL %s at sn=%s valid event SAID=%s for AID %s",
2719+
self.prefixer.qb64, serder.ilk, serder.sn, serder.said, serder.pre)
2720+
logger.debug("Event Body=\n%s\n", serder.pretty())
27192721
return (fn, dtsb.decode("utf-8")) # (fn int, dts str) if first else (None, dts str)
27202722

27212723
def escrowPSEvent(self, serder, sigers, wigers=None):
@@ -2736,7 +2738,7 @@ def escrowPSEvent(self, serder, sigers, wigers=None):
27362738
self.db.putEvt(dgkey, serder.raw)
27372739
snkey = snKey(serder.preb, serder.sn)
27382740
self.db.addPse(snkey, serder.saidb) # b'EOWwyMU3XA7RtWdelFt-6waurOTH_aW_Z9VTaU-CshGk.00000000000000000000000000000001'
2739-
logger.info("Kever: Escrowed partially signed or delegated "
2741+
logger.debug("Kever: Escrowed partially signed or delegated "
27402742
"event %s for AID %s", serder.said, serder.pre)
27412743
logger.debug("Event Body=\n%s\n", serder.pretty())
27422744

@@ -5037,7 +5039,7 @@ def processEscrowUnverWitness(self):
50375039
# valid event escrow.
50385040
self.db.delUwe(snKey(pre, sn), ecouple) # removes one escrow at key val
50395041
logger.info("Kevery: unver wit escrow unescrow succeeded for event pre=%s "
5040-
"sn=%s\n", pre, sn)
5042+
"sn=%s", pre, sn)
50415043

50425044
if ekey == key: # still same so no escrows found on last while iteration
50435045
break
@@ -5200,7 +5202,7 @@ def processEscrowUnverNonTrans(self):
52005202
# valid event escrow.
52015203
self.db.delUre(snKey(pre, sn), etriplet) # removes one escrow at key val
52025204
logger.info("Kevery: unver nontrans escrow unescrow succeeded for event pre=%s "
5203-
"sn=%s\n", pre, sn)
5205+
"sn=%s", pre, sn)
52045206

52055207
if ekey == key: # still same so no escrows found on last while iteration
52065208
break
@@ -5578,7 +5580,8 @@ def processEscrowUnverTrans(self):
55785580
# duplicitous so we process remaining escrows in spite of found
55795581
# valid event escrow.
55805582
self.db.delVre(snKey(pre, sn), equinlet) # removes one escrow at key val
5581-
logger.info("Kevery: unver trans escrow unescrow succeeded for event = %s\n", serder.ked)
5583+
logger.info("Kevery: unver trans escrow unescrow succeeded for event = %s", serder.said)
5584+
logger.debug("Event Body= \n%s\n", serder.pretty())
55825585

55835586
if ekey == key: # still same so no escrows found on last while iteration
55845587
break

src/keri/core/parsing.py

Lines changed: 53 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,7 +1041,7 @@ def msgParsator(self, ims=None, framed=True, pipeline=False,
10411041

10421042
elif ilk in [Ilks.rct]: # event receipt msg (nontransferable)
10431043
if not (cigars or wigers or tsgs):
1044-
logger.debug("Parser: Missing attached signatures on receipt msg = %s.", serder.ked)
1044+
logger.debug("Parser: Missing attached signatures on receipt msg event =\n%s\n", serder.pretty())
10451045
raise kering.ValidationError(f"Missing attached sigs on receipt msg={serder.ked['d']}")
10461046

10471047
try:
@@ -1055,13 +1055,17 @@ def msgParsator(self, ims=None, framed=True, pipeline=False,
10551055
kvy.processReceiptTrans(serder=serder, tsgs=tsgs)
10561056

10571057
except AttributeError:
1058-
raise kering.ValidationError("No kevery to process so dropped msg"
1059-
"= {}.".format(serder.pretty()))
1058+
msg = f"No kevery to process so dropped msg = {serder.said}"
1059+
logger.info("Parser: %s", msg)
1060+
logger.debug("Event body=\n%s\n", serder.pretty())
1061+
raise kering.ValidationError(msg)
10601062

10611063
elif ilk in (Ilks.rpy,): # reply message
10621064
if not (cigars or tsgs):
1063-
raise kering.ValidationError("Missing attached endorser signature(s) "
1064-
"to reply msg = {}.".format(serder.pretty()))
1065+
msg = f"Missing attached endorser signature(s) to reply msg = {serder.said}"
1066+
logger.info("Parser: %s", msg)
1067+
logger.debug("Event body=\n%s\n", serder.pretty())
1068+
raise kering.ValidationError(msg)
10651069

10661070
try:
10671071
if cigars: # process separately so do not clash on errors
@@ -1071,8 +1075,10 @@ def msgParsator(self, ims=None, framed=True, pipeline=False,
10711075
rvy.processReply(serder, tsgs=tsgs) # trans
10721076

10731077
except AttributeError as e:
1074-
raise kering.ValidationError("No kevery to process so dropped msg"
1075-
"= {}.".format(serder.pretty()))
1078+
msg = f"No kevery to process so dropped msg = {serder.said}"
1079+
logger.info("Parser: %s", msg)
1080+
logger.debug("Event body=\n%s\n", serder.pretty())
1081+
raise kering.ValidationError(msg)
10761082
except kering.UnverifiedReplyError as e:
10771083
if logger.isEnabledFor(logging.DEBUG):
10781084
logger.exception("Error processing reply = %s", e)
@@ -1091,16 +1097,20 @@ def msgParsator(self, ims=None, framed=True, pipeline=False,
10911097
args["cigars"] = cigars
10921098

10931099
else:
1094-
raise kering.ValidationError("Missing attached requester signature(s) "
1095-
"to key log query msg = {}.".format(serder.pretty()))
1100+
msg = f"Missing attached requester signature(s) to key log query msg = {serder.said}"
1101+
logger.info("Parser: %s", msg)
1102+
logger.debug("Event body=\n%s\n", serder.pretty())
1103+
raise kering.ValidationError(msg)
10961104

10971105
route = serder.ked["r"]
10981106
if route in ["logs", "ksn", "mbx"]:
10991107
try:
11001108
kvy.processQuery(**args)
11011109
except AttributeError:
1102-
raise kering.ValidationError("No kevery to process so dropped msg"
1103-
"= {}.".format(serder.pretty()))
1110+
msg = f"No kevery to process so dropped msg = {serder.said}"
1111+
logger.info("Parser: %s", msg)
1112+
logger.debug("Event body=\n%s\n", serder.pretty())
1113+
raise kering.ValidationError(msg)
11041114
except kering.QueryNotFoundError as e: # catch escrow error and log it
11051115
if logger.isEnabledFor(logging.TRACE):
11061116
logger.exception("Error processing query = %s", e)
@@ -1112,12 +1122,16 @@ def msgParsator(self, ims=None, framed=True, pipeline=False,
11121122
try:
11131123
tvy.processQuery(**args)
11141124
except AttributeError as e:
1115-
raise kering.ValidationError("No tevery to process so dropped msg"
1116-
"= {} from {}.".format(serder.pretty(), e))
1125+
msg = f"No tevery to process so dropped msg = {serder.said} from {e}"
1126+
logger.info("Parser: %s", msg)
1127+
logger.debug("Event body=\n%s\n", serder.pretty())
1128+
raise kering.ValidationError(msg)
11171129

11181130
else:
1119-
raise kering.ValidationError("Invalid resource type {} so dropped msg"
1120-
"= {}.".format(route, serder.pretty()))
1131+
msg = f"Invalid resource type {route} so dropped msg = {serder.said}"
1132+
logger.info("Parser: %s", msg)
1133+
logger.debug("Event body=\n%s\n", serder.pretty())
1134+
raise kering.ValidationError(msg)
11211135

11221136
elif ilk in (Ilks.exn,):
11231137
args = dict(serder=serder)
@@ -1132,8 +1146,10 @@ def msgParsator(self, ims=None, framed=True, pipeline=False,
11321146
exc.processEvent(tsgs=tsgs, **args)
11331147

11341148
except AttributeError:
1135-
raise kering.ValidationError("No Exchange to process so dropped msg"
1136-
"= {}.".format(serder.pretty()))
1149+
msg = "No Exchange to process so dropped msg = {serder.said}"
1150+
logger.info("Parser: %s", msg)
1151+
logger.debug("Event body=\n%s\n", serder.pretty())
1152+
raise kering.ValidationError(msg)
11371153

11381154
elif ilk in (Ilks.vcp, Ilks.vrt, Ilks.iss, Ilks.rev, Ilks.bis, Ilks.brv):
11391155
# TEL msg
@@ -1143,11 +1159,15 @@ def msgParsator(self, ims=None, framed=True, pipeline=False,
11431159
tvy.processEvent(serder=serder, seqner=seqner, saider=saider, wigers=wigers)
11441160

11451161
except AttributeError as e:
1146-
raise kering.ValidationError("No tevery to process so dropped msg"
1147-
"= {}.".format(serder.pretty()))
1162+
msg = f"No Tevery to process so dropped msg = {serder.said}"
1163+
logger.info("Parser: %s", msg)
1164+
logger.debug("Event body=\n%s\n", serder.pretty())
1165+
raise kering.ValidationError(msg)
11481166
else:
1149-
raise kering.ValidationError("Unexpected message ilk = {} for evt ="
1150-
" {}.".format(ilk, serder.pretty()))
1167+
msg = f"Unexpected message ilk = {ilk} for evt = {serder.said}"
1168+
logger.info("Parser: %s", msg)
1169+
logger.debug("Event body=\n%s\n", serder.pretty())
1170+
raise kering.ValidationError(msg)
11511171

11521172
elif isinstance(serder, serdering.SerderACDC):
11531173
ilk = serder.ilk # dispatch based on ilk
@@ -1157,14 +1177,20 @@ def msgParsator(self, ims=None, framed=True, pipeline=False,
11571177
prefixer, seqner, saider = ssts[-1] if ssts else (None, None, None) # use last one if more than one
11581178
vry.processCredential(creder=serder, prefixer=prefixer, seqner=seqner, saider=saider)
11591179
except AttributeError as e:
1160-
raise kering.ValidationError("No verifier to process so dropped credential"
1161-
"= {}.".format(serder.pretty()))
1180+
msg = f"No verifier to process so dropped credential {serder.said}"
1181+
logger.info("Parser: %s", msg)
1182+
logger.debug("Credential body=\n%s\n", serder.pretty())
1183+
raise kering.ValidationError(msg)
11621184
else:
1163-
raise kering.ValidationError("Unexpected message ilk = {} for evt ="
1164-
" {}.".format(ilk, serder.pretty()))
1185+
msg = f"Unexpected message ilk = {ilk} for evt = {serder.said}"
1186+
logger.info("Parser: %s", msg)
1187+
logger.debug("Event body=\n%s\n", serder.pretty())
1188+
raise kering.ValidationError(msg)
11651189

11661190
else:
1167-
raise kering.ValidationError("Unexpected protocol type = {} for event message ="
1168-
" {}.".format(serder.proto, serder.pretty()))
1191+
msg = f"Unexpected protocol type = {serder.proto} for event message = {serder.said}"
1192+
logger.info("Parser: %s", msg)
1193+
logger.debug("Event body=\n%s\n", serder.pretty())
1194+
raise kering.ValidationError(msg)
11691195

11701196
return True # done state

0 commit comments

Comments
 (0)