ó
ů2˘\c           @   s9   d  d l  Z  d  d l m Z d d l m Z d   Z d S(   i˙˙˙˙N(   t
   access_logi   (   t   prometheus_log_methodc         C   sK  |  j    } |  j } | d k  s- | d k r9 t j } n9 | d k  rQ t j } n! | d k  ri t j } n	 t j } d |  j j   } t d | d | j	 d | j
 d	 | j d
 |  } d } | d k rí | j j d d  | d <| d } n  | d k r*| d k r*| t j t | j  d d  n  | | j |    t |   d S(   s  log a bit more information about each request than tornado's default
    
    - move static file get success to debug-level (reduces noise)
    - get proxied IP instead of proxy IP
    - log referer for redirect and failed requests
    - log user-agent for failed requests
    i,  i0  i  iô  g     @@t   statust   methodt   ipt   urit   request_times3   {status} {method} {uri} ({ip}) {request_time:.2f}mst   Referert   Nonet   referers    referer={referer}iö  t   indenti   N(   t
   get_statust   requestR    t   debugt   infot   warningt   errorR   t   dictR   t	   remote_ipR   t   headerst   gett   jsont   dumpst   formatR   (   t   handlerR   R   t
   log_methodR   t   nst   msg(    (    s+   lib/python2.7/site-packages/notebook/log.pyt   log_request   s0    						%(   R   t   tornado.logR    t   metricsR   R   (    (    (    s+   lib/python2.7/site-packages/notebook/log.pyt   <module>   s   