Logging Best Practices

May 30, 2026 | 5 min read

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