<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def onLiveLocation( self, mid=None, location=None, author_id=None, thread_id=None, thread_type=None, ts=None, msg=None, ):
 """ Called when the client is listening and somebody sends live location info :param mid: The action ID :param location: Sent location info :param author_id: The ID of the person who sent location info :param thread_id: Thread ID that the action was sent to. See :ref:`intro_threads` :param thread_type: Type of thread that the action was sent to. See :ref:`intro_threads` :param ts: A timestamp of the action :param msg: A full set of the data recieved :type location: models.LiveLocationAttachment :type thread_type: models.ThreadType """

        log.info(
            "{} sent live location info in {} ({}) with latitude {} and longitude {}".format(
                author_id, thread_id, thread_type, location.latitude, location.longitude
            )
        )