一个很奇怪的现象,import paddle之后,logger疑似失效,不能生成log文件

tvokkenx  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(39)

bug描述 Describe the Bug

现象:
import paddle之后,logger疑似失效,不能生成log文件

最小复现:
、、、
import logging

import paddle

logging.basicConfig(
filename="train.log",
format="%(asctime)s - %(levelname)s - %(name)s - %(message)s",
datefmt="%m/%d/%Y %H:%M:%S",
level=logging.INFO,
)

logger = logging.getLogger()
logger.info('paddlepaddle')
、、、

录屏:
https://github.com/user-attachments/assets/e5ccd8e0-fec3-4bb7-a0aa-6d63bab36094

其他补充信息 Additional Supplementary Information

我在两台设备上进行了测试,现象相同,版本信息如下:

MacOS:
paddle2onnx 1.0.9
paddlefsl 1.1.0
paddlenlp 2.8.1
paddlepaddle 2.6.1

x86_64:
paddle2onnx 1.2.6
paddlefsl 1.1.0
paddlenlp 2.8.1
paddlepaddle-gpu 2.6.1.post117

sr4lhrrt

sr4lhrrt1#

你好,感谢你的反馈。这确实是一个影响开发者体验的bug。

这个问题的根因是paddle.distributed.utils.log_utils提供的get_logger函数使用的name参数默认为"root",而该函数在被调用的时候多次使用了默认参数,这直接影响了root logger的行为。

Paddle/python/paddle/distributed/utils/log_utils.py
Line 18 in 3c19d80
def get_logger(log_level, name="root"):

一个能够立即想到的解决方案是将name参数的默认值修改为"root"以外的其他值。我们会从影响范围等角度进一步评估这一解决方案是否可行

相关问题