o |nh_ @sdZddlZddlZddlZddlZddlmZmZmZmZm Z m Z m Z m Z m Z mZmZddlZdZ      ddejjd ejejjd ed ejejjd ed ejeddfddZddZeejZeejZeejZeejZeej Z eej!Z!eej"Z"dS)z#Wrappers around the logging module.N) CRITICALDEBUGERRORFATALINFONOTSET StreamHandlerWARNWARNING getLoggerroot)rrrrrrr r r basicConfigcriticaldebugerror exceptionr infologr warning%T8%(log_color)s%(levelname)s%(reset)s:%(name)s:%(message)sstyle log_colorsresetsecondary_log_colorsformatdatefmtreturnc stjdifdd}tjdkr2tj |WddS1s+wYdStz |WtdStw)zCCall ``logging.basicConfig`` and override the formatter it creates.c s8tjjd}|tjjddddS)Nrstream)fmtrrrrrr)loggingr handlers setFormattercolorlog formatterColoredFormatterget)handlerrrkwargsrrrrI/usr/local/bin/dhwp/env/lib/python3.10/site-packages/colorlog/wrappers.py _basicConfig:s  z!basicConfig.._basicConfig) Nr*)r r sys version_info_lock _acquireLock _releaseLock)rrrrrrr)r,r*r(r+r .s  "r cstfdd}|S)zGModify a function to call our basicConfig() first if no handlers exist.cs$ttjjdkr t|i|S)Nr)lenr r r!r )argsr)funcr*r+wrapperVsz"ensure_configured..wrapper) functoolswraps)r7r8r*r6r+ensure_configuredSsr;)rNTNrN)#__doc__r9r r/typingrrrrrrrr r r r colorlog.formatterr#__all__r$ _FormatStyleOptional LogColorsboolSecondaryLogColorsstrr r;rrrrrrrr*r*r*r+sJ4   %