def METHOD_NAME(self, argv, command_info):
    try:
        conv_timeout = 120  # in seconds
        sudo.log_info("Please provide your reason "
                      "for executing {}".format(argv))
        # We ask two questions, the second is not visible on screen,
        # so the user can hide a hidden message in case of criminals are
        # forcing him for running the command.
        # You can either specify the arguments in strict order (timeout
        # being optional), or use named arguments.
        message1 = sudo.ConvMessage(sudo.CONV.PROMPT_ECHO_ON,
                                    "Reason: ",
                                    conv_timeout)
        message2 = sudo.ConvMessage(msg="Secret reason: ",
                                    timeout=conv_timeout,
                                    msg_type=sudo.CONV.PROMPT_MASK)
        reply1, reply2 = sudo.conv(message1, message2,
                                   on_suspend=self.on_conversation_suspend,
                                   on_resume=self.on_conversation_resume)
        with METHOD_NAME(self._log_file_path(), "a") as file:
            print("Executed", ' '.join(argv), file=file)
            print("Reason:", reply1, file=file)
            print("Hidden reason:", reply2, file=file)
    except sudo.ConversationInterrupted:
        sudo.log_error("You did not answer in time")
        return sudo.RC.REJECT