File: //lib/python3/dist-packages/landscape/lib/__pycache__/logging.cpython-38.pyc
U
���c� � @ sZ d dl mZ d dlZd dlZd dlZd dlZdZddd�Zddd �Zdd
d�Z dd
� Z
dS )� )�absolute_importNz;%(asctime)s %(levelname)-8s [%(threadName)-10s] %(message)s�infoc C sR | j dddddd� d}|r*|d�|�7 }| j d d
d||d� | j d
|dd� dS )z?Add common logging-related CLI options to the given arg parser.z-qz--quietF�
store_truez"Do not log to the standard output.)�default�action�helpz)The directory in which to write log filesz (default: {!r}).z-lz --log-dirZFILE)�metavarr r z--log-levelz/One of debug, info, warning, error or critical.)r r N)Z
add_option�format)�parser�level�logdirZ
logdirhelp� r
�7/usr/lib/python3/dist-packages/landscape/lib/logging.py�add_cli_options s ���r Fc C sV |dkrt j�tjd �}t�|�� �}tt� � || |t�
t�|sHtjnd� t� � S )z3Given a log dir, set up logging for an application.Nr )
�os�path�basename�sys�argv�loggingZgetLevelName�upper�
_init_logging� getLoggerZ Formatter�FORMAT�stdout)r r Zprogname�quietr
r
r �init_app_logging s �r c C st | � |� tj�|�s t�|� tj�||d �}t�|�g}|rR|�t� |�� |D ]}| �
|� |�|� qVd S )Nz.log)ZsetLevelr r �exists�makedirs�joinr �FileHandler�appendZ
StreamHandlerZ
addHandlerZsetFormatter) Zloggerr r ZlognameZ formatterr �filename�handlers�handlerr
r
r r + s
�
r c C s\ t �� jD ]B} t| t j�r
| �� z| j�� t | j
| j�| _W 5 | �� X q
t �d� dS )z�
This closes and reopens the underlying files in the logging module's
root logger. If called after logrotate (or something similar) has
moved the old log file out of the way, this will start writing to a new
new log file...
zLandscape Logs rotatedN)
r r r# �
isinstancer �acquire�release�stream�close�openZbaseFilename�moder )r$ r
r
r �rotate_logs? s
�
r, )r N)r NF)N)Z
__future__r r r �os.pathr r r r r r, r
r
r
r �<module> s