
    #j                    r    U d dl mZ d dlZd dlZd dlmZmZ d dlmZ da	de
d<    G d d          ZdddZdS )    )annotationsN)OptionalTextIO)colorszOptional[SimpleLogger]_loggerc                  X    e Zd ZdZdddZdd
ZddZ	 dddZddZddZ	ddZ
ddZdS )SimpleLoggera  A simple, self-contained logger that writes output to stderr.

    This implementation avoids reliance on external dependencies (e.g., `rich`)
    by sending log messages (debug, info, warning, etc.) directly to standard
    error (`sys.stderr`) by default.
    F
use_colorsboolc                6    t           j        | _        || _        d S N)loggingWARNINGlevelr
   )selfr
   s     U/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/magika/logger.py__init__zSimpleLogger.__init__$   s    _
$    r   intreturnNonec                    || _         d S r   )r   )r   r   s     r   setLevelzSimpleLogger.setLevel(   s    


r   msgstrc                H    |                      |t          j                   d S )N)file)	raw_printsysstdoutr   r   s     r   raw_print_to_stdoutz SimpleLogger.raw_print_to_stdout+   s     s,,,,,r   NTr   Optional[TextIO]flushc                F    |t           j        }t          |||           d S )N)r   r$   )r   stderrprint)r   r   r   r$   s       r   r   zSimpleLogger.raw_print.   s-     < :DcE******r   c                    t           j        | j        k    rS| j        r2|                     t
          j         d| t
          j                    d S |                     d|            d S d S )NzDEBUG: )r   DEBUGr   r
   r   r   GREENRESETr!   s     r   debugzSimpleLogger.debug:   sp    =DJ&& 0&,JJsJFLJJKKKKK/////	 '&r   c                d    t           j        | j        k    r|                     d|            d S d S )NzINFO: )r   INFOr   r   r!   s     r   infozSimpleLogger.infoA   s7    <4:%%NN>C>>***** &%r   c                    t           j        | j        k    rS| j        r2|                     t
          j         d| t
          j                    d S |                     d|            d S d S )Nz	WARNING: )r   r   r   r
   r   r   YELLOWr+   r!   s     r   warningzSimpleLogger.warningE   ss    ?dj(( 2&-MM#Mv|MMNNNNN030011111	 )(r   c                    t           j        | j        k    rS| j        r2|                     t
          j         d| t
          j                    d S |                     d|            d S d S )NzERROR: )r   ERRORr   r
   r   r   REDr+   r!   s     r   errorzSimpleLogger.errorL   sp    =DJ&& 0&*HHSH&,HHIIIII/////	 '&r   F)r
   r   )r   r   r   r   )r   r   r   r   )NT)r   r   r   r#   r$   r   r   r   )__name__
__module____qualname____doc__r   r   r"   r   r,   r/   r2   r6    r   r   r	   r	      s         % % % % %   - - - - FJ
+ 
+ 
+ 
+ 
+0 0 0 0+ + + +2 2 2 20 0 0 0 0 0r   r	   Fr
   r   r   c                >    t           t          |           a t           S )Nr
   )r   r	   r>   s    r   
get_loggerr?   T   s     *555Nr   r7   )r
   r   r   r	   )
__future__r   r   r   typingr   r   magikar   r   __annotations__r	   r?   r<   r   r   <module>rD      s   " # " " " " " "  



 # # # # # # # #      "& & & & &50 50 50 50 50 50 50 50p      r   