Ë
    ¥©	jæ  ã                   ó    — d Z ddlZddlZddlmZ ddlZddlmZmZ ddl	m
Z
 dededed	efd
„Zdd„Zded	ej                  j                  fd„Zy)zz
Structured logging configuration using structlog.
All Bob/Granite API calls will be logged in JSON format for debugging.
é    N)ÚAny)Ú	EventDictÚ	Processor)ÚsettingsÚloggerÚmethod_nameÚ
event_dictÚreturnc                 ó   — d|d<   d|d<   |S )z+Add application context to all log entries.Úpr_partyÚappÚdevelopmentÚenvironment© )r   r   r	   s      ú3/var/www/html/prparty/backend/app/logging_config.pyÚadd_app_contextr      s   € à"€JˆuÑØ -€Jˆ}ÑØÐó    c            
      ó  — t        j                  dt        j                  t	        t         t
        j                  j                  «       «      ¬«       t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  «       t        t        j                   j#                  d¬«      t        j                   j%                  «       t        j                   j&                  t        j                   j)                  «       g	} t
        j                  j                  «       dk(  r.| j+                  t        j,                  j/                  «       «       n-| j+                  t        j                   j1                  «       «       t        j2                  | t        j                  j4                  t6        t        j                  j9                  «       d¬«       y)	z1Configure structured logging for the application.z%(message)s)ÚformatÚstreamÚlevelÚiso)ÚfmtÚDEBUGT)Ú
processorsÚwrapper_classÚcontext_classÚlogger_factoryÚcache_logger_on_first_useN)ÚloggingÚbasicConfigÚsysÚstdoutÚgetattrr   Ú	log_levelÚupperÚ	structlogÚcontextvarsÚmerge_contextvarsÚstdlibÚadd_logger_nameÚadd_log_levelÚPositionalArgumentsFormatterr   r   ÚTimeStamperÚStackInfoRendererÚformat_exc_infoÚUnicodeDecoderÚappendÚdevÚConsoleRendererÚJSONRendererÚ	configureÚBoundLoggerÚdictÚLoggerFactory)r   s    r   Úconfigure_loggingr:      sS  € ô ×ÑØÜ�z‰zÜ”gœx×1Ñ1×7Ñ7Ó9Ó:õô 	×Ñ×/Ñ/Ü×Ñ×(Ñ(Ü×Ñ×&Ñ&Ü×Ñ×5Ñ5Ó7ÜÜ×Ñ×(Ñ(¨UÐ(Ó3Ü×Ñ×.Ñ.Ó0Ü×Ñ×,Ñ,Ü×Ñ×+Ñ+Ó-ð
#€Jô ×Ñ×ÑÓ! WÒ,Ø×Ñœ)Ÿ-™-×7Ñ7Ó9Õ:à×Ñœ)×.Ñ.×;Ñ;Ó=Ô>ä×ÑØÜ×&Ñ&×2Ñ2ÜÜ ×'Ñ'×5Ñ5Ó7Ø"&ör   Únamec                 ó,   — t        j                  | «      S )z!Get a configured logger instance.)r'   Ú
get_logger)r;   s    r   r=   r=   <   s   € ä×Ñ Ó%Ð%r   )r
   N)Ú__doc__r    r"   Útypingr   r'   Ústructlog.typesr   r   Ú
app.configr   Ústrr   r:   r*   r7   r=   r   r   r   ú<module>rC      sd   ðñó Û 
Ý ã ß 0å ð˜Cð ¨cð ¸yð ÈYó ó#ðL&�Sð &˜Y×-Ñ-×9Ñ9ô &r   