
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
Ö;j~  ã               @   s®   d dl mZ d dlZd dlZd dlZd dlZd dlZddlmZm	Z	 ej
dƒZdd„ Zdd	d
„Zddd„Zddd„Zddd„Zddd„Zdd„ Zdd„ Zdd„ Zd dd„ZdS )!é    )Úprint_functionNé   )ÚconfigÚ	constantsÚkcarec             C   s   t | tjƒ tj| ƒ d S )N)Ú	_printlvlr   ÚPRINT_DEBUGÚkcarelogÚdebug)Úmessage© r   ú//usr/libexec/kcare/python/kcarectl/log_utils.pyÚlogdebug   s    r   Tc             C   s   |rt | tjƒ tj| ƒ d S )N)r   r   Ú
PRINT_INFOr	   Úinfo)r   Ú	print_msgr   r   r   Úloginfo   s    r   c             C   s$   |rt | tjtjd� tj| ƒ d S )N)Úfile)r   r   Ú
PRINT_WARNÚsysÚstderrr	   Úwarning)r   r   r   r   r   Úlogwarn   s    r   c             C   s$   |rt | tjtjd� tj| ƒ d S )N)r   )r   r   ÚPRINT_ERRORr   r   r	   Úerror)r   r   r   r   r   Úlogerror&   s    r   c             C   s&   |rt jtjkrtjƒ  tj| ƒ d S )N)r   r   r   ÚPRINT_LEVELÚ	tracebackÚ	print_excr	   Ú	exception)r   r   r   r   r   Úlogexc,   s    r    c             C   s   |t jkrt| |d� d S )N)r   )r   r   Úprint)r   Úlevelr   r   r   r   r   2   s    
r   c              C   s:   t jdƒ} t jjdt jjjd�}|jt jƒ |j| ƒ |S )Nz kcare %(levelname)s: %(message)sz/dev/log)ÚaddressZfacility)ÚloggingÚ	FormatterÚhandlersZSysLogHandlerZLOG_USERÚsetLevelÚINFOÚsetFormatter)Zsyslog_formatterÚsyslog_handlerr   r   r   Úget_syslog_handler7   s
    

r+   c             C   sn   t jdƒ}tjƒ dkrJt jjtjddd�}|jt	| t j
ƒƒ |j|ƒ |S t jƒ }|j| ƒ |j|ƒ |S d S )Nz&%(asctime)s %(levelname)s: %(message)sr   i   é   )ZmaxBytesZbackupCounti   )r$   r%   ÚosÚgetuidr&   ZRotatingFileHandlerr   ÚLOG_FILEr'   Úminr(   r)   ÚStreamHandler)r"   Zkcare_formatterÚkcare_handlerr   r   r   Úget_kcare_handler?   s    



r3   c             C   s¤   g t jd d …< yt| ƒ}t j|ƒ W n, tk
rP } zt j|ƒ W Y d d }~X nX tjjdƒr yt	ƒ }t j|ƒ W n, tk
rž } zt j|ƒ W Y d d }~X nX d S )Nz/dev/log)
r	   r&   r3   Ú
addHandlerÚ	Exceptionr   r-   ÚpathÚexistsr+   )r"   r2   Úexr*   r   r   r   Úinitialize_loggingP   s    r9   c             C   s"   |pd}t dj|t| ƒƒ|ƒ d S )Nz<route cannot be logged>z8Unable to fetch {0}. Please try again later (error: {1}))r   ÚformatÚstr)r8   ÚurlÚstdoutr   r   r   Úprint_cln_http_errora   s    r>   )T)T)T)T)N)NT)Ú
__future__r   r$   Zlogging.handlersr-   r   r   Ú r   r   Ú	getLoggerr	   r   r   r   r   r    r   r+   r3   r9   r>   r   r   r   r   Ú<module>   s"   





