8000 Bug: Handler registered with addHandler not logging extra keys added by append_keys · Issue #2356 · aws-powertools/powertools-lambda-python · GitHub
[go: up one dir, main page]

Skip to content
Bug: Handler registered with addHandler not logging extra keys added by append_keys #2356
Closed
@leandrodamascena

Description

@leandrodamascena

Discussed in #2261

Originally posted by nimish-salve May 15, 2023
aws-lambda-powertools version: 2.15.0

I am trying logger to use 2 handlers.

  1. FileHandler
  2. Streamhandler

When I added extra keys via append_keys, newly registered handlers are not logging extra keys.
Sample code below:

import logging
from aws_lambda_powertools import Logger
from aws_lambda_powertools.logging.formatter import LambdaPowertoolsFormatter

file_handler = logging.FileHandler('logs.log')
_LOGGER = Logger(service="test", level=logging.INFO, logger_handler=logging.NullHandler())
#_LOGGER = Logger(service="test", level=logging.INFO, logger_handler=file_handler) # this works

def main():
    file_handler.setFormatter(LambdaPowertoolsFormatter())
    _LOGGER.addHandler(file_handler)
    _LOGGER.append_keys(test="test")
    _LOGGER.info("in main 1")

    stream_handler = logging.StreamHandler()
    stream_handler.setFormatter(LambdaPowertoolsFormatter())
    _LOGGER.addHandler(stream_handler)
    _LOGGER.info("in main 2")

if __name__ == "__main__":
    main()

Whats could be the issue?

This is reproducible even with just 1 handler. If we register the handler while creating the logger itself, it works without any issues. When we explicitly register the handler, it does not work.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinglogger

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0