U
    vId                     @   s   d dl Z d dlZdaedZde_ee  ejd 	e
d ejd d dd Zd	d
 ZdddZdddZdS )    NZanndataFz%(message)sINFOc                 C   s   t j| S )z\    Creates a child logger that delegates to anndata_logger
    instead to logging.root
    )anndata_loggermanager	getLogger)name r   H/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/anndata/logging.py
get_logger   s    r
   c                  C   sl   dd l } | t }z| }W n tk
r>   | }Y nX |d d }|}td k	r`|t }|a||fS )Nr   i   @)psutilProcessosgetpidZmemory_infoAttributeErrorZget_memory_info_previous_memory_usage)r   processZmeminfomemZmem_diffr   r   r	   get_memory_usage   s    r    c                 C   sF   |rdnd}|dkrdnd}| \}}| | | d|dd|ddS )	N
r   z 
... zMemory usage: current z.2fz GB, difference z+.2fz GBr   )Z	mem_usagemsgnewlinemorer   diffr   r   r	   format_memory_usage'   s
     r   c                 C   s   t tt | | d S )N)printr   r   )r   r   r   r   r	   print_memory_usage1   s    r   )r   F)r   F)r   loggingr   r   r   	propagate
addHandlerStreamHandlerhandlerssetFormatter	FormattersetLevelr
   r   r   r   r   r   r   r	   <module>   s   


