[Python] How do I add custom field to Python log format string?

Discussão em 'Python' iniciado por Stack, Fevereiro 1, 2025.

  1. Stack

    Stack Membro Participativo

    My current format string is:

    formatter = logging.Formatter('%(asctime)s : %(message)s')


    and I want to add a new field called app_name which will have a different value in each script that contains this formatter.

    import logging
    formatter = logging.Formatter('%(asctime)s %(app_name)s : %(message)s')
    syslog.setFormatter(formatter)
    logger.addHandler(syslog)


    But I'm not sure how to pass that app_name value to the logger to interpolate into the format string. I can obviously get it to appear in the log message by passing it each time but this is messy.

    I've tried:

    logging.info('Log message', app_name='myapp')
    logging.info('Log message', {'app_name', 'myapp'})
    logging.info('Log message', 'myapp')


    but none work.

    Continue reading...

Compartilhe esta Página