예제 #1
0
def http_terminal():
    logger.info("正在接收http请求。\n")
    flag=True
    while flag:
        commond = get_config(keys=['commond']).get('commond')
        set_config(values={'commond':''})
        if commond:
            translator=Analysiser(commond)
            # 父进程结束时,子进程也结束。
            translator.setDaemon(True)
            translator.start()
        time.sleep(0.5)
def get_logger(obj: Any = 'default') -> MyLogger:
    """
    Creates a logging object and returns it
    :param obj: obj with module, class and method information
    :return: logger object
    """

    name = obj if type(
        obj) == str else f'{obj.__module__}.{type(obj).__name__}'

    # Get environment specific configs
    config = env_config()

    # Set new log levels
    logging.setLoggerClass(MyLogger)
    logging.addLevelName(new_log_levels.PERF, new_log_levels.PERF_TEXT)
    logging.addLevelName(new_log_levels.TRACE, new_log_levels.TRACE_TEXT)

    # Get logger-config json
    logger_config = get_config(config['logger_config'])

    # Add timestamp to create new file for each new run
    # Updating the filename when {time} is part of filename in logger-config, otherwise log filename will be same
    for k, v in logger_config['handlers'].items():
        if 'filename' in v and '{time}' in v['filename']:
            v['filename'] = v.get('filename').replace(
                '{time}',
                datetime.now().strftime('%Y-%m-%d-%H-%M-%S'))
        # Use custom formatter if configured (in config.ini)
        # if 'custom_log' in configs and 'ON' in configs['custom_log'].upper():
        #     v['formatter'] = 'custom'

    logging_config.dictConfig(logger_config)

    # Set custom log levelname
    # if 'custom_log' in config and 'ON' in config['custom_log'].upper():
    #     for loglevel in [new_log_levels.PERF, new_log_levels.TRACE, logging.INFO, logging.INFO, logging.DEBUG,
    #                      logging.WARN, logging.WARNING]:
    #         logging.addLevelName(loglevel, 'DTLOG')
    #
    #     for loglevel in [logging.ERROR, logging.FATAL, logging.CRITICAL]:
    #         logging.addLevelName(loglevel, 'DTERROR')

    logger = logging.getLogger(name)

    if 'log_level' in config and config['log_level'] is not None:
        logger.setLevel(config['log_level'])

    assert isinstance(logger, MyLogger)

    return logger
예제 #3
0
 def build_query_url(self,source, lang):
     # 获取音量和语速
     config_dic = get_config(keys=['speed','voice'])
     qdict = dict(lan=lang, ie="UTF-8", text=source.encode('utf-8'), spd = config_dic.get('speed'), vol = config_dic.get('voice'))
     return self.url_gtts + urllib.urlencode(qdict)