code: def log_time(func):
      
  
      @functools.wraps(func)
      def _execute(*args, **kwargs):
          """Executes function and logs time
  
          :param args: args of function
          :param kwargs: extra args of function
          :param *args: args
          :param **kwargs: extra args
          :return: function result
          """
  
          func_name = get_method_name(func)
          timer = Timer()
          log_message(func_name, "has started")
  
          with timer:
              result = func(*args, **kwargs)
  
          seconds = "{:.3f}".format(timer.elapsed_time())
          log_message(func_name, "has finished. Execution time:", seconds, "s")
  
          return result
  
      return _execute
docs: Executes function and logs time
  
      :param func: function to call
      :return: function result