Skip to content

[Bug] CPP/Python Logger cannot be changed between different clients. First one set stays for all Pulsar Clients #333

Open
@laurent-chriqui

Description

@laurent-chriqui

Search before asking

  • I searched in the issues and found nothing similar.

Version

Pulsar 3.1.0
Pulsar-Client Python 3.3.0
OS : Ubuntu 20.04

Minimal reproduce step

import logging
import pulsar

if __name__ == '__main__':
    logger_1 = logging.getLogger('pulsar_logger_1')
    hdlr = logging.StreamHandler()
    log_format = "pulsar_logger_1: [%(asctime)s] [%(levelname)s]: %(message)s"
    logger_1.setLevel(logging.INFO)
    formatter = logging.Formatter(fmt=log_format)
    hdlr.setFormatter(formatter)
    logger_1.addHandler(hdlr)
    logger_1.propagate = False
    client = pulsar.Client('pulsar://localhost:6650', logger=logger_1)
    consumer = client.subscribe('my-topic', 'my-subscription')
    consumer.close()
    client.close()
    logger_2 = logging.getLogger('pulsar_logger_2')
    hdlr = logging.StreamHandler()
    log_format = "pulsar_logger_2: [%(asctime)s] [%(levelname)s]: %(message)s"
    logger_2.setLevel(logging.INFO)
    formatter = logging.Formatter(fmt=log_format)
    hdlr.setFormatter(formatter)
    logger_2.addHandler(hdlr)
    logger_2.propagate = False
    client_2 = pulsar.Client('pulsar://localhost:6651', logger=logger_2)
    consumer_2 = client_2.subscribe('my-topic', 'my-subscription2')
    consumer_2.close()
    client_2.close()
    client_3 = pulsar.Client('pulsar://localhost:6650', logger=None)
    consumer_3 = client_3.subscribe('my-topic', 'my-subscription3')
    consumer_3.close()
    client_3.close()

What did you expect to see?

I would expect the first client to use pulsar_logger_1, the second to use pulsar_logger_2 and the third one to use the default logger.

What did you see instead?

All clients use pulsar_logger_1

Anything else?

It seems that subsequent defined pulsar clients fail to set the logger and keep the first one defined instead.

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions