Format: application/x-python-code
1 o
2
3 ��h� � @ sR d Z ddlZddlZddlZddlZddlZe�d��ej� G dd� de �Z
4 dS )z/Logger class for IPython's logging facilities.
5 � NZparsoc @ st e Zd ZdZ ddd�Zdd� Zd d
6 � Zeee�Z dd
7 d�Z dd� Z
8 dd� Zdd� Zddd�Z
9 dd� ZeZdS )�Loggerz9A Logfile class with different policies for file creation�
10 Logger.log� �overc C s: || _ || _|| _|| _d | _d| _d| _d| _d| _d S )NF) �home_dir�logfname�loghead�logmode�logfile�
11 log_raw_input�
12 log_output� timestamp�
13 log_active)�selfr r r r � r �Ic:\Users\shubh\Videos\agent\nova\Lib\site-packages\IPython/core/logger.py�__init__! s
14 zLogger.__init__c C s |dvr
15 t d| ��|| _d S )N)�append�backup�globalr �rotatezinvalid log mode %s given)�
16 ValueError�_logmode)r �moder r r � _set_mode: s
17 zLogger._set_modec C s | j S )N)r �r r r r � _get_mode? s zLogger._get_modeNFc C s | j durtd| j ��|dur|| _|dur|| _|dur!|| _|| _|| _|| _tj j
18 }| j}|dkr@tj| jddd�| _ n�|dkri|| j�r^| jd }||�rWt�
19 |� t�| j|� tj| jd dd�| _ n�|d
20 kr�tj �| j| j�| _tj| jddd�| _ nv|dkr�|| j�r�t�
21 | j� tj| jd dd�| _ n\|dkr�|| j�r�|| jd
22 �r�t�| jd �} | �� | �� | D ]%}
23 tj �|
24 �\}}t|dd� �d }
25 t�|
26 |d t|
27 ��d� d � q�t�| j| jd
28 � tj| jd dd�| _ |dk�r| j �| j� | j �� d| _dS )zoGenerate a new log-file with a default header.
29
30 Raises RuntimeError if the log has already been startedNzLog file is already active: %sr �azutf-8)�encodingr �~�wr r r z.001~z.*~� ������.� T)r
31 �RuntimeErrorr r r r
32 r r �os�path�isfile�io�open�remove�rename�joinr �glob�sort�reverse�splitext�int�repr�zfill�write�flushr )r r r r r r
33 r r( Zbackup_logname�old�f�root�ext�numr r r �logstartD sX
34 �
35
36
37
38
39 $
40
41
42 zLogger.logstartc C sx |dvr
43 t d| ��ddddd�}| jdu rtd� dS | j|kr*td|| � dS td || � | j | _| j| _dS )
44 z4Switch logging on/off. val should be ONLY a boolean.)FTr r! z:Call switch_log ONLY with a boolean argument, not with: %sZOFF�ON)r r! FTNz�
45 Logging hasn't been started yet (use logstart for that).
46
47 %logon/%logoff are for temporarily starting and stopping logging for a logfile
48 which already exists. But you must first start the logging process with
49 %logstart (optionally giving a logfile name).zLogging is alreadyzSwitching logging)r r
50 �printr Zlog_active_out)r �val�labelr r r �
51 switch_log� s �
52
53
54 zLogger.switch_logc C sn | j du rtd� dS | jrdpd}td| j� td| j� td| j� td| j� td | j� td
55 |� dS )z(Print a status message about the logger.NzLogging has not been activated.�activeztemporarily suspendedzFilename :zMode :zOutput logging :zRaw input log :zTimestamping :zState :)r
56 r>