stdlib
?stdlib
stands for Standard Library in Python.
Python comes with a batteries-included standard library — a set of modules and packages available without installing anything extra.
Examples include os
, sys
, logging
, json
, math
, datetime
, etc.
structlog.stdlib
In structlog
, you’ll often see references like:
import structlog
structlog.stdlib.add_log_level
structlog.stdlib.add_logger_name
structlog.stdlib.LoggerFactory
These are helpers that integrate structlog
with Python’s built-in logging
module (which is part of the standard library).
What it does:
Makes structlog
logs compatible with the standard Python logging system.
Allows you to use existing log handlers (console, file, etc.) from the standard library.
Adds metadata like logger name, log level, timestamps automatically.
import logging
import structlog
logging.basicConfig(level=logging.INFO, format="%(message)s")
structlog.configure(
processors=[
structlog.stdlib.add_logger_name, # adds logger name
structlog.stdlib.add_log_level, # adds log level
structlog.processors.TimeStamper(fmt="iso"), # adds timestamp
structlog.stdlib.ProcessorFormatter.wrap_for_formatter,
],
logger_factory=structlog.stdlib.LoggerFactory(), # uses stdlib logging
)
log = structlog.get_logger("my_std_logger")
log.info("user_logged_in", user="Abhishek")
Output:
timestamp='2025-08-18T10:50:00Z' level='info' logger='my_std_logger' event='user_logged_in' user='Abhishek'
✅ Here, stdlib
functions are bridging structlog
with Python’s standard logging.