PaddlePaddle / PaddleOCR

Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
Apache License 2.0
40.2k stars 7.45k forks source link

引用PaddleOCR模块后会导致logging的默认logger中添加一项haddler #13122

Open ireson96 opened 2 weeks ago

ireson96 commented 2 weeks ago

问题描述 / Problem Description

在引用PaddleOCR模块后会导致logging的默认logger中添加一项haddler,具体现象如下图所示: image

运行环境 / Runtime Environment

复现代码 / Reproduction Code

from paddleocr import PaddleOCR

完整报错 / Complete Error Message

会导致其他模块在打印日志的时候控制台多打印预期外的一条日志例如下图: image

可能解决方案 / Possible solutions

倒是可以通过在初始化logger的时候手动清空一遍默认的haddler来解决这个问题,但考虑到并不是所有情况下logger的初始化都在引用PaddleOCR之后,还是建议将PaddleOCR初始化时添加的haddler添加到对应模块名下

附件 / Appendix

GreatV commented 2 weeks ago

你可以提一个PR来修复这个问题吗?

ireson96 commented 2 weeks ago

可以 不过跟踪了下是paddle库的命名问题,我不是很确定是不是特意设计成这样的 image

ireson96 commented 2 weeks ago

paddle/distributed/utils/log_utils.py

GreatV commented 2 weeks ago

paddleocr 里也有一个 get_logger https://github.com/PaddlePaddle/PaddleOCR/blob/main/ppocr/utils/logging.py ,是不是可以改成 paddleocr里的 get_logger

ireson96 commented 2 weeks ago

paddleocr 里也有一个 get_logger https://github.com/PaddlePaddle/PaddleOCR/blob/main/ppocr/utils/logging.py ,是不是可以改成 paddleocr里的 get_logger

这样的改动会比较大吧 毕竟两个get_logger的参数都并不太相同