← Back
Editing: 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
Save File
Cancel