o
    µ+ke'  ã                   @   sj   d dl Z d dlmZ d dlZddlmZmZmZ eƒ Ze ¡ dd„ ƒZ	dd„ Z
d	d
„ Zdd„ Zdd„ ZdS )é    N)ÚStringIOé   )Úfind_parent_moduleÚcreate_loggerÚsetup_loggingc                  C   s2   t ƒ } t| d d}| t d¡¡ t tj¡ | S )N)ÚstreamZenv_varz%(name)s: %(message)s)r   r   ÚsetFormatterÚloggingÚ	FormatterÚloggerÚsetLevelÚDEBUG)ÚioÚhandler© r   ú9usr/lib/python3.10/site-packages/borg/testsuite/logger.pyÚ	io_logger
   s
   r   c                 C   s   t  d¡ |  ¡ dksJ ‚d S )Nzhello worldz#borg.testsuite.logger: hello world
)r   ÚinfoÚgetvalue)r   r   r   r   Útest_setup_logging   s   
r   c                 C   s„   t  t¡}| d¡ |  ¡ dksJ ‚t  d¡}| d¡ |  ¡ dks$J ‚|  d¡ |  d¡ t  d¡}| d¡ |  ¡ dks@J ‚d S )Nzhello world 1z%borg.testsuite.logger: hello world 1
zborg.testsuite.loggerzhello world 2zJborg.testsuite.logger: hello world 1
borg.testsuite.logger: hello world 2
r   z%borg.testsuite.logger: hello world 2
)r	   Ú	getLoggerÚ__name__r   r   ÚtruncateÚseek)r   r   r   r   r   Útest_multiple_loggers   s   







r   c                   C   s   t ƒ tksJ ‚d S )N)r   r   r   r   r   r   Útest_parent_module&   s   r   c                   C   sp   t  tj¡ t  d¡ t  d¡ t  d¡ t  d¡ t  d¡ t  	tj
d¡ zt‚ ty7   t  d¡ Y d S w )NÚdebugr   ÚwarningÚerrorÚcriticalÚ	exception)r   r   r	   r   r   r   r   r   r   ÚlogÚINFOÚ	Exceptionr    r   r   r   r   Útest_lazy_logger*   s   




ÿr$   )r	   r   r   Zpytestr   r   r   r   Zfixturer   r   r   r   r$   r   r   r   r   Ú<module>   s    
