-
-
Notifications
You must be signed in to change notification settings - Fork 266
Closed
Description
Been playing around with a bunch of configs trying to get stacklevel to work, but CallsiteParameterAdder doesn't use it, which is a little annoying and defeats the purpose of stacklevel
import logging
import structlog
structlog.configure(
processors=[
structlog.stdlib.render_to_log_args_and_kwargs,
],
logger_factory=structlog.stdlib.LoggerFactory(),
wrapper_class=structlog.stdlib.BoundLogger,
cache_logger_on_first_use=True,
)
formatter = structlog.stdlib.ProcessorFormatter(
fmt="%(asctime)s - %(name)s - %(levelname)s - %(funcName)s - %(message)s",
processors=[
structlog.processors.CallsiteParameterAdder(
{
structlog.processors.CallsiteParameter.FUNC_NAME,
},
),
structlog.stdlib.ProcessorFormatter.remove_processors_meta,
structlog.processors.KeyValueRenderer(),
],
)
handler = logging.StreamHandler()
handler.setFormatter(formatter)
logging.basicConfig(level=logging.INFO, handlers=[handler])
logger = structlog.get_logger()
stdlib_logger = logging.getLogger()
def func1():
logger.info("structlog_message", stacklevel=2)
stdlib_logger.info("stdlib_message", stacklevel=2)
def func2():
func1()
func2()Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels