
    yj{                        d Z ddlZddlZddlmZ ddlmZ g dZd Z ej	        d          Z
 e            Zedk    re
                    ej                   n;ed	k    re
                    ej                   ne
                    ej                    ej        d
          Z ej                    Ze                    e           e
                    e           d Zd Zd Zd Zd ZdS )ug   
本文件实现了sdk日志的功能

Authors: xiangyiqing(xiangyiqing@baidu.com)
Date:    2023/07/24
    N)config)LOG_LEVEL_FILE)infodebugwarnerror	get_levelc                  ^   dt           j        v rt          j        d          S t           j                            t
                    r\	 t          t
          d          5 } |                                                                 cddd           S # 1 swxY w Y   n#  Y nxY wt          j
        S )u  
    三种设置日志级别的方式，优先级从高到低：
    1、执行前, 设置环境变量 AISTUDIO_LOG 的值
    2、执行前, 设置level值到文件 ${AISTUDIO_CACHE_HOME}/.cache/aistudio/.log/level
    3、执行前, 设置config文件中DEFAULT_LOG_LEVEL的值
    AISTUDIO_LOGrN)osenvirongetenvpathexistsr   openreadstripr   DEFAULT_LOG_LEVEL)files    `/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/aistudio_sdk/log.pyr	   r	      s     ##y(((	w~~n%% 	nc** +dyy{{((**+ + + + + + + + + + + + + + + + +	D##s0   B &BB BB BB B aistudio_sdkr   criticalzS%(levelname)-8s %(asctime)s %(process)-5s %(filename)s[line:%(lineno)d] %(message)sfmtc                  `    t                               t          j        d                     dS )u&   
    cli log格式沿用原有的
    z%(message)sr   N)console_handlersetFormatterlogging	Formatter     r   cli_logr#   B   s,       !2}!E!E!EFFFFFr"   c                 P    t                               t          j        |            dS )zlog evel: INFON)loggerlogr   INFOmsgs    r   r   r   J       
JJw|S!!!!!r"   c                 V    t                               t          j        d|             dS )zlog evel: DEBUGz[DEBUG] N)r%   r&   r   DEBUGr(   s    r   r   r   N   s'    
JJw}.../////r"   c                 P    t                               t          j        |            dS )zlog evel: WARNN)r%   r&   r   WARNr(   s    r   r   r   R   r*   r"   c                 P    t                               t          j        |            dS )zlog evel: ERRORN)r%   r&   r   ERRORr(   s    r   r   r   V   s    
JJw}c"""""r"   )__doc__r   r   r   r   aistudio_sdk.constant.constr   __all__r	   	getLoggerr%   levelsetLevelr,   CRITICALr'   r    	formatterStreamHandlerr   r   
addHandlerr#   r   r   r   r   r!   r"   r   <module>r;      s    
			        6 6 6 6 6 6  $ $ $* 
	>	*	*	G
OOGM""""
j
OOG$%%%%
OOGL!!! G"wxxx	 (''))   Y ' ' '   / " " "G G G" " "0 0 0" " "# # # # #r"   