代码中用到了airtest和paddleocr
logging日志会打印两份
不知道该如何处理才能让日志不重复
找了下教程似乎无法解决,不知道该在哪里添加代码来处理
from airtest.core.api import *
from paddleocr import PaddleOCR
这两个一起用就会有问题
参考GPT和自己的思路:
这个问题可能是由于airtest和paddleocr都会使用logging模块来记录日志所致。一个常见的解决方法是在代码中禁用其中一个模块的日志输出,或者将两个模块的日志级别设置为不同的级别,避免日志重复输出。您可以在代码中添加以下内容进行尝试:
import logging
# 禁用airtest的日志输出
logging.getLogger("airtest").setLevel(logging.WARNING)
# 设置paddleocr的日志级别为DEBUG
logging.getLogger("paddleocr").setLevel(logging.DEBUG)
这段代码将禁用airtest的日志输出,并且将paddleocr的日志级别设置为DEBUG,这样就可以避免日志重复输出的问题。将这段代码放在引入airtest和paddleocr之后的位置即可。
输出结果如下,airtest的日志会打印两次,预期结果是各打各的互不影响
[2023/03/24 11:02:05] ppocr DEBUG: Namespace(help='==SUPPRESS==', use_gpu=False, ir_optim=True, use_tensorrt=False, min_subgraph_size=15, precision='fp32', gpu_mem=500, image_dir=None, det_algorithm='DB', det_model_dir='C:\\Users\\Administrator/.paddleocr/whl\\det\\ch\\ch_PP-OCRv3_det_infer', det_limit_side_len=960, det_limit_type='max', det_db_thresh=0.3, det_db_box_thresh=0.6, det_db_unclip_ratio=1.5, max_batch_size=10, use_dilation=False, det_db_score_mode='fast', det_east_score_thresh=0.8, det_east_cover_thresh=0.1, det_east_nms_thresh=0.2, det_sast_score_thresh=0.5, det_sast_nms_thresh=0.2, det_sast_polygon=False, det_pse_thresh=0, det_pse_box_thresh=0.85, det_pse_min_area=16, det_pse_box_type='quad', det_pse_scale=1, scales=[8, 16, 32], alpha=1.0, beta=1.0, fourier_degree=5, det_fce_box_type='poly', rec_algorithm='SVTR_LCNet', rec_model_dir='C:\\Users\\Administrator/.paddleocr/whl\\rec\\ch\\ch_PP-OCRv3_rec_infer', rec_image_shape='3, 48, 320', rec_batch_num=6, max_text_length=25, rec_char_dict_path='C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\paddleocr\\ppocr\\utils\\ppocr_keys_v1.txt', use_space_char=True, vis_font_path='./doc/fonts/simfang.ttf', drop_score=0.5, e2e_algorithm='PGNet', e2e_model_dir=None, e2e_limit_side_len=768, e2e_limit_type='max', e2e_pgnet_score_thresh=0.5, e2e_char_dict_path='./ppocr/utils/ic15_dict.txt', e2e_pgnet_valid_set='totaltext', e2e_pgnet_mode='fast', use_angle_cls=True, cls_model_dir='C:\\Users\\Administrator/.paddleocr/whl\\cls\\ch_ppocr_mobile_v2.0_cls_infer', cls_image_shape='3, 48, 192', label_list=['0', '180'], cls_batch_num=6, cls_thresh=0.9, enable_mkldnn=False, cpu_threads=10, use_pdserving=False, warmup=False, draw_img_save_dir='./inference_results', save_crop_res=False, crop_res_save_dir='./output', use_mp=False, total_process_num=1, process_id=0, benchmark=False, save_log_path='./log_output/', show_log=True, use_onnx=False, output='./output', table_max_len=488, table_model_dir=None, table_char_dict_path=None, layout_path_model='lp://PubLayNet/ppyolov2_r50vd_dcn_365e_publaynet/config', layout_label_map=None, mode='structure', layout=True, table=True, ocr=True, lang='ch', det=True, rec=True, type='ocr', ocr_version='PP-OCRv3', structure_version='PP-STRUCTURE')
[11:02:06][INFO]<airtest.core.api> Try finding: Template(E:\test.png)
[2023-03-24 11:02:06,121] [ INFO] cv.py:59 - Try finding: Template(E:\test.png)