
    !f                     ~    d Z ddlZddlZddlZddlZddZdedej                  dej                  fdZ	d Z
d	 Zd
 Zy)zLegacy logging functions.    Nc                     |r5t         j                  j                  t        j                  d       d       t        |        y)z?Log the given string to stdout. Prepend timestamp if requested.z%x %Xz: N)sysstdoutwritetimestrftimeprint)message	timestamps     0/usr/lib/python3/dist-packages/apport/logging.pylogr   	   s/    

DMM'23267	'N    msgargsreturnc                 F    t        | g|  t        j                  d       y)z0Print out an error message and exit the program.   N)errorr   exitr   r   s     r   fatalr      s    	#HHQKr   c                     t         j                  rat         j                  j                  d       t         j                  j                  | |z         t         j                  j                  d       yy)zPrint out an error message.zERROR: 
Nr   stderrr   r   s     r   r   r      sH    
zz

#

t$

 r   c                     t         j                  rat         j                  j                  d       t         j                  j                  | |z         t         j                  j                  d       yy)zPrint out an warning message.z	WARNING: r   Nr   r   s     r   warningr      sH    
zz

%

t$

 r   c                    dt         j                  vst        j                  syi }t	        dd      5 }|D ]<  }|j                  d      s|j                         \  }}}t        |      dz  ||dd <   > 	 ddd       t        j                  j                  d	|d
   dd|d   dd|d   dd|  d	       y# 1 sw Y   BxY w)zSPrint current memory usage.

    This is only done if $APPORT_MEMDEBUG is set.
    APPORT_MEMDEBUGNz/proc/self/statuszutf-8)encodingVmg      @zSize: VmSizez.1fz
 MB, RSS: VmRSSz
 MB, Stk: VmStkz MB @ r   )	osenvironr   r   open
startswithsplitintr   )
checkpointmemstatstatus_filelinefieldsize_s          r   memdbgr3   &   s    
 

*#**G	!G	4 9 	9Dt$#'::< a&)$i&&8cr
#	99 JJ
"3'z''2B31G H!#&fZL	<9 9s   B7*B77C )F)__doc__r&   r   r   typingr   strAnyNoReturnr   r   r   r3    r   r   <module>r:      sJ     	 
  s 6:: &// r   