Archives

Categories

If this helped you, please share!

TIL: Python logger extra keyword

Published April 21, 2022 in today I learned - 0 Comments

Today I learned that extra arguments can be passed to any Python stdlib logger method that logs a message with the extra keyword argument as a dict. The extra arguments may be used in a formatter or with other logging tools like structlog.

import logging
import os

logging.basicConfig(
    format=
    "%(asctime)s %(message)s | %(sysname)s %(version)s %(release)s %(machine)s"
)
logger = logging.getLogger()
system_info = os.uname()
import logging
import os

logging.basicConfig(
    format=
    "%(asctime)s %(message)s | %(sysname)s %(version)s %(release)s %(machine)s"
)
logger = logging.getLogger()
system_info = os.uname()
logger.critical(
    "Critical error message!",
    extra={
        "sysname": system_info.sysname,
        "machine": system_info.machine,
        "version": system_info.version,
        "release": system_info.release,
    },
)

Output is:

2022-04-21 00:47:31,691 Critical error message! | Linux #29~20.04.1-Ubuntu SMP Fri Jan 14 00:32:30 UTC 2022 5.13.0-27-generic x86_64
Tags: python

No comments yet

Leave a Reply: