diff --git a/src/_zkapauthorizer/controller.py b/src/_zkapauthorizer/controller.py
index 510e34aeae01121afdfa96773667ca08f3a7b5df..bee2bf301eca18189507fbb0394f43627da16560 100644
--- a/src/_zkapauthorizer/controller.py
+++ b/src/_zkapauthorizer/controller.py
@@ -442,7 +442,12 @@ class RistrettoRedeemer(object):
             elif reason == u"unpaid":
                 raise Unpaid(voucher)
 
-        self._log.info("Redeemed: {public-key} {proof} {signatures}", **result)
+        self._log.info(
+            "Redeemed: {public_key} {proof} {count}",
+            public_key=result[u"public-key"],
+            proof=result[u"proof"],
+            count=len(result[u"signatures"]),
+        )
 
         marshaled_signed_tokens = result[u"signatures"]
         marshaled_proof = result[u"proof"]