guides
Logging Best Practices
Structured logging, log levels, and observability with compiled code.
Published May 30, 2026
Structured Logging
import json
import time
def log_event(level: str, message: str, context: dict):
print(json.dumps({
'timestamp': time.time(),
'level': level,
'message': message,
**context
}))
Log Levels in Compiled Code
Use standard logging module — it works normally under Pyvorin. Avoid heavy string formatting in hot loops:
# Bad: formatting every iteration
for i in range(1000000):
logger.debug(f"Processing item {i}")
# Good: conditional logging
for i in range(1000000):
if i % 10000 == 0:
logger.debug(f"Processing item {i}")
Correlation IDs
def log_with_correlation(cid: str, message: str):
print(json.dumps({'correlation_id': cid, 'message': message}))