!f~dZddlZddlZddlZddlZd dZdedejdejfdZ dZ d Z d Z y) zLegacy logging functions.Nc|r5tjjtjddt |y)z?Log the given string to stdout. Prepend timestamp if requested.z%x %Xz: N)sysstdoutwritetimestrftimeprint)message timestamps 0/usr/lib/python3/dist-packages/apport/logging.pylogr s/ DMM'23267 'NmsgargsreturncFt|g|tjdy)z0Print out an error message and exit the program.N)errorrexitrrs r fatalrs #HHQKrctjratjjdtjj||ztjjdyy)zPrint out an error message.zERROR:  Nrstderrrrs r rrsH zz # t$ rctjratjjdtjj||ztjjdyy)zPrint out an warning message.z WARNING: rNrrs r warningrsH zz % t$ rc dtjvstjsyi}t dd5}|D]<}|j ds|j \}}}t|dz ||dd<> dddtjjd |d d d |d d d|dd d|d y#1swYBxYw)zSPrint current memory usage. This is only done if $APPORT_MEMDEBUG is set. APPORT_MEMDEBUGNz/proc/self/statuszutf-8)encodingVmg@zSize: VmSizez.1fz MB, RSS: VmRSSz MB, Stk: VmStkz MB @ r) osenvironrropen startswithsplitintr) checkpointmemstat status_filelinefieldsize_s r memdbgr3&s  *#**G !G 49  9Dt$#'::< a&)$i&&8cr # 99 JJ "3'z''2B31GH!#&fZL < 99sB7 *B77C)F) __doc__r&rrtypingr strAnyNoReturnrrrr3rr r:sJ s6::&// r