def get_customized_json_logger(logger_name=None):
    '''
    The caller can bring any logger name if needed.
    '''
    init_id_and_version()

    logging.basicConfig()
    root = logging.getLogger()
    log_handler = root.handlers[0]

    log_format = '%(asctime) %(levelname) %(name) %(funcName) %(message)'
    formatter = CustomJsonFormatter(fmt=log_format)
    log_handler.setFormatter(formatter)

    logger = logging.getLogger(logger_name)
    logger.setLevel(logging.INFO)
    logger.handlers = [log_handler]

    # avoid duplicated logger print
    logger.propagate = False
    return logger

    The caller can bring any logger name if needed.
    
Solutions/Trend Micro Vision One/Data Connectors/AzureFunctionTrendMicroXDR/shared_code/customized_logger/customized_json_logger.py