apache / apache/pulsar-client-cpp

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

Đang mở
#333 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C++
Star
71
Fork
90
Merge trung bình
2 giờ 33 phút
Pull request đã merge (30 ngày)
3

Mô tả

### Search before asking

- [X] I searched in the [issues](https://github.com/apache/pulsar-client-cpp/issues) and found nothing similar.

### Version

Pulsar 3.1.0
Pulsar-Client Python 3.3.0
OS : Ubuntu 20.04

### Minimal reproduce step

```python
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!

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách chạy bản tái hiện Python với Pulsar C++ client và theo dõi cách logger được truyền cho mỗi Pulsar Client được giữ lại. Được xem là hoàn tất khi các client riêng biệt sử dụng logger được cung cấp cho chúng, trong khi một client được truyền logger=None sử dụng logger mặc định, như đầu ra của bản tái hiện cho thấy.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp, python
Lĩnh vực
api, backend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.