U ʗRe, @sddlZddlmZddlmZmZddlmZddlmZddlm Z m Z m Z m Z m Z mZddlmZdd lmZmZdd lmZmZdd lmZmZdd lmZdd lmZGdddeZedkrddl m!Z!dZ"ej#de"dedddgde$dZ%e%&de%&de!de%&de%&de%&de%'de!de%(dd d!d"d#d$d%gd&gd'd(d ddd'd)e%(d*e%)d+e%&d,e%&d-e%'d.dd/d0d1Z*e*e!de%+d2e%&d3e%j&d4e,dd5d6dS)7N)datetime)Handler LogRecord)Path) ModuleType)ClassVarListOptionalIterableTypeUnion) get_console) LogRenderFormatTimeCallable)ConsoleConsoleRenderable) HighlighterReprHighlighter)Text) Tracebackcs:eZdZUdZdddddddd gZeeeee d <e Z ee e e d <ejd fd d d d d d ddd dd d dddddd deeefeeeeeeeee eeeeeeeeeeeeefeeeeefeeed dfddZeedddZed dddZeedddd Zeeeddd!d"d#ZZS)$ RichHandlera A logging handler that renders output with Rich. The time / level / message and file are displayed in columns. The level is color coded, and the message is syntax highlighted. Note: Be careful when enabling console markup in log messages if you have configured logging for libraries not under your control. If a dependency writes messages containing square brackets, it may not produce the intended output. Args: level (Union[int, str], optional): Log level. Defaults to logging.NOTSET. console (:class:`~rich.console.Console`, optional): Optional console instance to write logs. Default will use a global console instance writing to stdout. show_time (bool, optional): Show a column for the time. Defaults to True. omit_repeated_times (bool, optional): Omit repetition of the same time. Defaults to True. show_level (bool, optional): Show a column for the level. Defaults to True. show_path (bool, optional): Show the path to the original log call. Defaults to True. enable_link_path (bool, optional): Enable terminal link of path column to file. Defaults to True. highlighter (Highlighter, optional): Highlighter to style log messages, or None to use ReprHighlighter. Defaults to None. markup (bool, optional): Enable console markup in log messages. Defaults to False. rich_tracebacks (bool, optional): Enable rich tracebacks with syntax highlighting and formatting. Defaults to False. tracebacks_width (Optional[int], optional): Number of characters used to render tracebacks, or None for full width. Defaults to None. tracebacks_extra_lines (int, optional): Additional lines of code to render tracebacks, or None for full width. Defaults to None. tracebacks_theme (str, optional): Override pygments theme used in traceback. tracebacks_word_wrap (bool, optional): Enable word wrapping of long tracebacks lines. Defaults to True. tracebacks_show_locals (bool, optional): Enable display of locals in tracebacks. Defaults to False. tracebacks_suppress (Sequence[Union[str, ModuleType]]): Optional sequence of modules or paths to exclude from traceback. locals_max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation. Defaults to 10. locals_max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to 80. log_time_format (Union[str, TimeFormatterCallable], optional): If ``log_time`` is enabled, either string for strftime or callable that formats the time. Defaults to "[%x %X] ". keywords (List[str], optional): List of words to highlight instead of ``RichHandler.KEYWORDS``. GETPOSTHEADPUTDELETEOPTIONSTRACEPATCHKEYWORDSHIGHLIGHTER_CLASSNTF Pz[%x %X]) show_timeomit_repeated_times show_level show_pathenable_link_path highlightermarkuprich_tracebackstracebacks_widthtracebacks_extra_linestracebacks_themetracebacks_word_wraptracebacks_show_localstracebacks_suppresslocals_max_lengthlocals_max_stringlog_time_formatkeywords)levelconsoler&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7returncstj|d|pt|_|p$||_t|||||dd|_||_| |_ | |_ | |_ | |_ | |_ ||_||_||_||_||_||_dS)N)r8)r&r(r) time_formatr' level_width)super__init__rr9r!r+r _log_renderr*r,r-r.r/r0r1r2r3r4r5r7)selfr8r9r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7 __class__r#/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/rich/logging.pyr>=s. zRichHandler.__init__)recordr:cCs&|j}t|dd|}|S)zGet the level name from the record. Args: record (LogRecord): LogRecord instance. Returns: Text: A tuple of the style and level name. zlogging.level.) levelnamerstyledljustlower)r@rD level_name level_textr#r#rCget_level_textms  zRichHandler.get_level_textc Cs||}d}|jr|jr|jdkr|j\}}}|dk s||}|jdkrP|j|_|jrd||jd|S)zRender message text in to Text. record (LogRecord): logging Record. message (str): String containing log message. Returns: ConsoleRenderable: Renderable to display log message. r,r+Nzlogging.keyword)getattrr,r from_markupr+r7r highlight_words)r@rDr\ use_markup message_textr+r#r#rCrbs  zRichHandler.render_message)rDrTrUr:c Cstt|jj}||}|jdkr$dn|jj}t|j}|j |j |sJ|gn||g|||||j |j rh|jndd}|S)avRender log for display. Args: record (LogRecord): logging Record. traceback (Optional[Traceback]): Traceback instance or None for no Traceback. message_renderable (ConsoleRenderable): Renderable (typically Text) containing log message contents. Returns: ConsoleRenderable: Renderable to display log. N)log_timer;r8pathline_no link_path) rpathnamenamerLr[r_r fromtimestampcreatedr?r9linenor*) r@rDrTrUrrr8r;rqrjr#r#rCrcs    zRichHandler.render) __name__ __module__ __qualname____doc__r rr rstr__annotations__rr!r rloggingNOTSETr intrboolr rrr>rrrLrkrbrrc __classcell__r#r#rArCrs~ !    0*r__main__)sleepz %(message)srz[%X]T)r-r2)r8rVr_handlersrichzServer starting...z"Listening on http://127.0.0.1:8080zGET /index.html 200 1298z)GET /imgs/backgrounds/back1.jpg 200 54386zGET /css/styles.css 200 54386zGET /favicon.ico 404 242zJSONRPC request --> %r <-- %rz1.1ZconfirmFruitPurchaseappleZorangeZmangoesZpomelog+?Z 194521489)versionmethodparamsid)rresulterrorrzrLoading configuration file /adasd/asdasd/qeqwe/qwrqwrqwr/sdgsdgsdg/werwerwer/dfgerert/ertertert/ertetert/werwerwerz$Unable to find 'pomelo' in database!zPOST /jsonrpc/ 200 65532zPOST /admin/ 401 42234z%password was rejected for admin site.)r:cCsDd}d}dgd}tdz ||WntdYnXdS)Nr rZfoodz in dividezAn error of some kind occurred!)logdebug exception)numberZdivisorZfoosr#r#rCdivide s   rzOut of memory!zServer exited with code=-1z[bold]EXITING...[/bold])r,)extra)-rrrrpathlibrtypesrtypingrrr r r r rr?rrr9rrr+rrtextrrTrrrztimerZFORMAT basicConfig getLoggerrinfowarningrrrcriticaldictr#r#r#rCsj       R