File: //lib/python3.6/site-packages/glances/__pycache__/logger.cpython-36.opt-1.pyc
3
Eo�c� �
@ s� d Z ddlZddlZddlZddlZddlZddlZddlmZ dej krbej
jej d dd�ZndZdej kr�ej
j
ej d �r�ejej d ej�r�eej
jej d d �� ej
jej d d d
�Zn\ej
j
e�o�ejeej��reej
jed �� ej
jed d
�Znej
jej� djej� ��Zdd
dddgd�ddiddiddiddid�ddddded�ddd d!�d"�ddgdd#�ddgdd#�dgdd#�ddgd$d#�ddgd$d#�ddgd$d#�d%�d&�Zd*d(d)�Ze� ZdS )+zCustom logger class.� N)�
safe_makedirs�HOMEz.localZshare� ZXDG_CACHE_HOMEZglanceszglances.logzglances-{}.log� �False�INFO�file�console)�level�handlers�formatz+%(asctime)s -- %(levelname)s -- %(message)sz%(levelname)s -- %(message)szJ%(asctime)s -- %(levelname)s -- %(message)s (%(funcName)s in %(filename)s)z%(message)s)�standardZshortZlong�free�DEBUGz$logging.handlers.RotatingFileHandleri@B � r
)r
�classZmaxBytesZbackupCount� formatter�filenameZCRITICALzlogging.StreamHandlerr )r
r r )r r )r r
ZERROR)�debug�verboser
ZrequestsZ
elasticsearchzelasticsearch.trace)�versionZdisable_existing_loggers�rootZ
formattersr Zloggers�LOG_CFGc C sX t j� }t}tj| d�}|rHtjj|�rHt|d��}tj |�}W dQ R X t j
j|� |S )z�Build and return the logger.
env_key define the env var where a path to a specific JSON logger
could be defined
:return: logger -- Logger instance
NZrt)�loggingZ getLogger�LOGGING_CFG�os�getenv�path�exists�open�json�load�configZ
dictConfig)Zenv_keyZ_loggerr"