File: //lib64/python2.7/site-packages/hgext/blackbox.pyc
�
Hq�Qc @ s� d Z d d l m Z m Z d d l m Z d d l Z d d l Z d d l Z i Z e j
e � Z
d Z d a
d � Z d � Z d � Z e
d d
d d e d
� f g e d � � d � � Z d S( s log repository events to a blackbox for debugging
Logs event information to .hg/blackbox.log to help debug and diagnose problems.
The events that get logged can be configured via the blackbox.track config key.
Examples::
[blackbox]
track = *
[blackbox]
track = command, commandfinish, commandexception, exthook, pythonhook
[blackbox]
track = incoming
[blackbox]
# limit the size of a log file
maxsize = 1.5 MB
# rotate up to N log files when the current one gets too big
maxfiles = 3
i����( t utilt cmdutil( t _Nt internalc s, d | j f � f d � � Y� � | _ d S( Nt
blackboxuic s; e Z e j d � � Z d � Z � f d � Z d � Z RS( c S s | j d d d g � S( Nt blackboxt trackt *( t
configlist( t self( ( s4 /usr/lib64/python2.7/site-packages/hgext/blackbox.pyR + s c s � f d � } � j d d � } � j d d d � } | d k rt j | j � � } | j | k r| j } | j � � j d d d � } xI t | d
d
d � D]1 } | d d
| | d
f d d
| | f � q� W| d | d | d k o� | d � � j d d � } qn | S( Nc s� y t j | � WnB t k
rU } | j t j k rV � j d | | j f � qV n Xy | rr t j | | � n WnE t k
r� } | j t j k r� � j d | | | j f � q� n Xd S( Ns warning: cannot remove '%s': %s
s( warning: cannot rename '%s' to '%s': %s
( t ost unlinkt OSErrort errnot ENOENTt debugt strerrort rename( t oldpatht newpatht err( R ( s4 /usr/lib64/python2.7/site-packages/hgext/blackbox.pyt rotate0 s s blackbox.logt aR t maxsizei i t maxfilesi i i����R s %s.%dR s .1(
t _bbopenert configbytesR
t fstatt filenot st_sizet namet closet configintt xrange( R R t fpR t stt pathR t i( ( R s4 /usr/lib64/python2.7/site-packages/hgext/blackbox.pyt _openlogfile/ s
c s] t � | � j | | | � d | j k r>