<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import{_ as n,c as l,a as i,b as h,f as e,o as k,r as p}from"./app-BL9p4A9m.js";const t="/assets/v2-11b1da94376a127ea2918dfc3975deb1_720w-C-P6hABH.webp",d="/assets/v2-e25bb3a23414718544b156f105296a2e_720w-D6kX42Vk.webp",r="/assets/v2-8d6c06f9fca020761c24278dff8b1246_720w-DuMzvTF2.png",D={};function g(y,s){const a=p("GoogleArticleTopAd");return k(),l("div",null,[s[0]||(s[0]=i("h1",{id:"loguru-ä¼˜é›…çš„æ—¥å¿—ç®¡ç†æ¨¡å—",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#loguru-ä¼˜é›…çš„æ—¥å¿—ç®¡ç†æ¨¡å—"},[i("span",null,"loguru:ä¼˜é›…çš„æ—¥å¿—ç®¡ç†æ¨¡å—")])],-1)),h(a),s[1]||(s[1]=e(`&lt;h2 id="_1-loguruçš„åŸºæœ¬ä»‹ç»" tabindex="-1"&gt;&lt;a class="header-anchor" href="#_1-loguruçš„åŸºæœ¬ä»‹ç»"&gt;&lt;span&gt;1. loguruçš„åŸºæœ¬ä»‹ç»&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id="_1-å®‰è£…" tabindex="-1"&gt;&lt;a class="header-anchor" href="#_1-å®‰è£…"&gt;&lt;span&gt;1.å®‰è£…&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;pip install loguru&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h3 id="_2-æ—¥å¿—ç­‰çº§" tabindex="-1"&gt;&lt;a class="header-anchor" href="#_2-æ—¥å¿—ç­‰çº§"&gt;&lt;span&gt;2.æ—¥å¿—ç­‰çº§&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;ç­‰çº§&lt;/th&gt;&lt;th&gt;æ–¹æ³•&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;TRACE&lt;/td&gt;&lt;td&gt;logger.trace()&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;DEBUG&lt;/td&gt;&lt;td&gt;logger.debug()&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;INFO&lt;/td&gt;&lt;td&gt;logger.info()&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SUCESS&lt;/td&gt;&lt;td&gt;logger.sucess()&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WARNING&lt;/td&gt;&lt;td&gt;logger.warnning()&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ERROR&lt;/td&gt;&lt;td&gt;logger.error()&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CRITICAL&lt;/td&gt;&lt;td&gt;logger.critical()&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3 id="_3-åŸºæœ¬ä½¿ç”¨" tabindex="-1"&gt;&lt;a class="header-anchor" href="#_3-åŸºæœ¬ä½¿ç”¨"&gt;&lt;span&gt;3.åŸºæœ¬ä½¿ç”¨&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;loguruåŸºæœ¬ä½¿ç”¨&lt;/li&gt;&lt;/ul&gt;&lt;div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" data-title="python" style="--shiki-dark:#D4D4D4;--shiki-light:#000000;--shiki-dark-bg:#1E1E1E;--shiki-light-bg:#FFFFFF;"&gt;&lt;pre class="shiki shiki-themes dark-plus light-plus vp-code"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;from&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; loguru &lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; logger&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.debug(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;è¿™æ˜¯ä¸€æ¡debugæµ‹è¯•ä¿¡æ¯&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;è¿™æ˜¯ä¸€æ¡infoæµ‹è¯•ä¿¡æ¯&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.warning(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;è¿™æ˜¯ä¸€æ¡warningæµ‹è¯•ä¿¡æ¯&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.error(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;è¿™æ˜¯ä¸€æ¡erroræµ‹è¯•ä¿¡æ¯&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# æ—¥å¿—è¾“å…¥åˆ°æ–‡ä»¶   &lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;from&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; loguru &lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; logger   &lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.add(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;runlog.log&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.encoding=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)   &lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.debug(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;è¿™æ˜¯ä¸€æ¡debugæµ‹è¯•ä¿¡æ¯&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)   &lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;è¿™æ˜¯ä¸€æ¡infoæµ‹è¯•ä¿¡æ¯&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)   &lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.warning(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;è¿™æ˜¯ä¸€æ¡warningæµ‹è¯•ä¿¡æ¯&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)   &lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.error(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;è¿™æ˜¯ä¸€æ¡erroræµ‹è¯•ä¿¡æ¯&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;å¸¸ç”¨å‚æ•°é…ç½®&lt;/li&gt;&lt;/ul&gt;&lt;div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" data-title="python" style="--shiki-dark:#D4D4D4;--shiki-light:#000000;--shiki-dark-bg:#1E1E1E;--shiki-light-bg:#FFFFFF;"&gt;&lt;pre class="shiki shiki-themes dark-plus light-plus vp-code"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# rotationé…ç½®&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;from&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; loguru &lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; logger&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# è¶…è¿‡50Mè‡ªåŠ¨åˆ†å‰²æ–‡ä»¶&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.add(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;runlog.log&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;rotation&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;50 MB&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;encoding&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# æ–‡ä»¶åä¸­åŠ&nbsp;å…¥æ—¶é—´&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.add(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;runlog_&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{time}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;.log&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;rotation&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;50 MB&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;encoding&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# æ¯å¤©å›ºå®šæ—¶é—´å®šæ—¶åˆ›å»ºæ–‡ä»¶ HH:mm&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.add(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;runtime_&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{time}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;.log&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;rotation&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;08:00&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;encoding&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# æ¯éš”ä¸€æ®µæ—¶é—´åˆ›å»ºæ–‡ä»¶&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.add(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;runtime_&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{time}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;.log&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;rotation&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;1 week&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;encoding&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# æ—¥å¿—ä¿ç•™æ—¶é—´ï¼Œåˆ°æœŸè‡ªåŠ¨åˆ&nbsp;é™¤&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;from&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; loguru &lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; logger&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.add(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;runlog_&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{time}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;.log&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;retention&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;3 days&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;encoding&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# ä¿ç•™åŽ‹ç¼©&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;from&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; loguru &lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; logger&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger.add(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;runlog_&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{time}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;.log&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;compression&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;zip&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;encoding&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;è¯¦ç»†å‚æ•°é…ç½®ï¼šè§æºç&nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="_2-loguruæ¨¡å—çš„ç®€å•å°è£…" tabindex="-1"&gt;&lt;a class="header-anchor" href="#_2-loguruæ¨¡å—çš„ç®€å•å°è£…"&gt;&lt;span&gt;2. loguruæ¨¡å—çš„ç®€å•å°è£…&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" data-title="python" style="--shiki-dark:#D4D4D4;--shiki-light:#000000;--shiki-dark-bg:#1E1E1E;--shiki-light-bg:#FFFFFF;"&gt;&lt;pre class="shiki shiki-themes dark-plus light-plus vp-code"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; os&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; sys&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; time&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;sys.path.append(os.getcwd())&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;log_time = time.strftime(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;%Y%m&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;%d&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;%H-%M&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, time.localtime())&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;from&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; loguru &lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; logger&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;log_path = os.path.dirname(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;__file__&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)+&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;/a.log&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;retention = &lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;15 days&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="--shiki-dark:#4EC9B0;--shiki-light:#267F99;"&gt; Logger&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; __init__&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;need_log&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;True&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.my_logger = logger&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;        # åˆ¤æ–­æ˜¯å¦éœ€è¦å†™å…¥æ—¥å¿—&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;        if&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; need_log &lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;is&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt; True&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;            self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.my_logger.add(log_path, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;encoding&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;retention&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=retention)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; info&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;content&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.my_logger.info(content)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; debug&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;content&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.my_logger.debug(content)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; error&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;content&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.my_logger.error(content)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; critical&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;content&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.my_logger.critical(content)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; warning&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;content&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.my_logger.warning(content)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; success&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;content&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.my_logger.success(content)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; trace&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, &lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;content&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.my_logger.trace(content)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; traceback&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;        import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; traceback&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.my_logger.error(&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;f&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;æ‰§è¡Œå¤±è´¥ï¼ï¼ï¼å¤±è´¥ä¿¡æ¯ï¼š&lt;/span&gt;&lt;span style="--shiki-dark:#D7BA7D;--shiki-light:#EE0000;"&gt;\\n&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt; {&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;traceback.format_exc()&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger = Logger()&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;if&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt; __name__&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; == &lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt;    print&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(log_path)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;hello world&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 id="_3-è£…é¥°å™¨ç»“åˆloguruçš„ç®€å•åº”ç”¨" tabindex="-1"&gt;&lt;a class="header-anchor" href="#_3-è£…é¥°å™¨ç»“åˆloguruçš„ç®€å•åº”ç”¨"&gt;&lt;span&gt;3. è£…é¥°å™¨ç»“åˆloguruçš„ç®€å•åº”ç”¨&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" data-title="python" style="--shiki-dark:#D4D4D4;--shiki-light:#000000;--shiki-dark-bg:#1E1E1E;--shiki-light-bg:#FFFFFF;"&gt;&lt;pre class="shiki shiki-themes dark-plus light-plus vp-code"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# ******&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;logger = Logger()&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; wrapper_log&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;func&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;    &amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;    æ—&nbsp;å‚è£…é¥°å™¨ï¼Œä¹Ÿå¯ä»¥å†™æˆæœ‰å‚è£…é¥°å™¨ï¼ŒTrueæˆ–Flaseæ&nbsp;‡è®°æ˜¯å¦è°ƒç”¨æ—¥å¿—æ¨¡å—&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;    åŠŸèƒ½ä¸€ï¼šæ‰§è¡Œå¤±è´¥ï¼Œæ‰“å°å¹¶è®°å½•é”™è¯¯æ—¥å¿—ä¿¡æ¯ï¼Œå®šä½bug&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;    åŠŸèƒ½äºŒï¼šè®°å½•ç”¨ä¾‹æ‰§è¡Œæ—¶é—´&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;    &amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;    from&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; functools &lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; wraps&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;    import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; time&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt;    @wraps&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(func)  &lt;/span&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# wraps ä½¿ innerè£…çš„æ›´åƒä¸€ä¸ªfunc&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; inner&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(*&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;args&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;, **&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;kwargs&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;f&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;func.&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;__name__&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;ç”¨ä¾‹æ‰§è¡Œå¼€å§‹&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;f&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;æ­£åœ¨åˆå§‹åŒ–çŽ¯å¢ƒ......&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        now1 = time.time()&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;        try&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;            func(*args, **kwargs)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;        except&lt;/span&gt;&lt;span style="--shiki-dark:#4EC9B0;--shiki-light:#267F99;"&gt; Exception&lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt; as&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; e:&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;            logger.error(&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;f&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;ç”¨ä¾‹æ‰§è¡Œå¤±è´¥ï¼Œå¤±è´¥åŽŸå›&nbsp;ï¼š&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;e&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;            logger.traceback()&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;            raise&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; e&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        now2 = time.time()&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.success(&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;f&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;func.&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;__name__&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;ç”¨ä¾‹æ‰§è¡ŒæˆåŠŸï¼ï¼ï¼ï¼Œç”¨ä¾‹æ‰§è¡Œç”¨æ—¶:&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;now2 - now1&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;ms&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;        return&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; func&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;    return&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; inner&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;# ç»“åˆè¯­æ³•ç³–æ‰§è¡Œç”¨ä¾‹&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt;@wrapper_log&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; test_demo&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;():&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt;    print&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#B5CEA8;--shiki-light:#098658;"&gt;1&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; / &lt;/span&gt;&lt;span style="--shiki-dark:#B5CEA8;--shiki-light:#098658;"&gt;0&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;if&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt; __name__&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; == &lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    test_demo()&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 id="_4-æ—¥å¿—çš„ç®€å•åº”ç”¨ä¸€" tabindex="-1"&gt;&lt;a class="header-anchor" href="#_4-æ—¥å¿—çš„ç®€å•åº”ç”¨ä¸€"&gt;&lt;span&gt;4. æ—¥å¿—çš„ç®€å•åº”ç”¨ä¸€&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;å°è£…å¹¶æ&nbsp;‡è®°åº•å±‚ä»£ç&nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" data-title="python" style="--shiki-dark:#D4D4D4;--shiki-light:#000000;--shiki-dark-bg:#1E1E1E;--shiki-light-bg:#FFFFFF;"&gt;&lt;pre class="shiki shiki-themes dark-plus light-plus vp-code"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;    #æ‰“å¼€ç½‘å€&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; open&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;url&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;æ­£åœ¨è®¿é—®ï¼š&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.format(url))&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.driver.get(url)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;   #ç‚¹å‡»å…ƒç´&nbsp;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; click&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;loc&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;       logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;æ­£åœ¨ç‚¹å‡»å…ƒç´&nbsp;ï¼š&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;;&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.format(loc))&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;       ele=&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.find_element(loc)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;       if&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; ele:&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;           ele.click()&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;    #è¾“å…¥&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; input&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;loc&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;value&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;æ­£åœ¨è¾“å…¥å…ƒç´&nbsp;ï¼š&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;;&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.format(value))&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        ele=&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.find_element(loc)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;        if&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; ele:&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;            ele.clear()&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;            ele.send_keys(value)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;    #é€€å‡ºæµè§ˆå™¨&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; quit&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;æ­£åœ¨é€€å‡ºæµè§ˆå™¨&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.driver.quit()&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#6A9955;--shiki-light:#008000;"&gt;    #å…³é—­é¡µé¢æ&nbsp;‡ç­¾&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; close&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;æ­£åœ¨å…³é—­æµè§ˆå™¨æ&nbsp;‡ç­¾&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.driver.close()&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;è¿è¡Œæ—¥å¿—éƒ¨åˆ†ç»“æžœï¼š&lt;/li&gt;&lt;/ul&gt;&lt;figure&gt;&lt;img src="`+t+`" alt="img" tabindex="0" loading="lazy"&gt;&lt;figcaption&gt;img&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2 id="_5-æ—¥å¿—çš„ç®€å•åº”ç”¨äºŒ" tabindex="-1"&gt;&lt;a class="header-anchor" href="#_5-æ—¥å¿—çš„ç®€å•åº”ç”¨äºŒ"&gt;&lt;span&gt;5. æ—¥å¿—çš„ç®€å•åº”ç”¨äºŒ&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;å°è£…å¹¶æ&nbsp;‡è®°åº•å±‚ä»£ç&nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" data-title="python" style="--shiki-dark:#D4D4D4;--shiki-light:#000000;--shiki-dark-bg:#1E1E1E;--shiki-light-bg:#FFFFFF;"&gt;&lt;pre class="shiki shiki-themes dark-plus light-plus vp-code"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;from&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; logertools &lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; logger&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="--shiki-dark:#4EC9B0;--shiki-light:#267F99;"&gt; RequestsT&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; __init__&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;) -&amp;gt; &lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;None&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;        self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.headers= {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;            &amp;quot;Content-Type&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;application/json;charset=UTF-8&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;            }&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;    def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; request&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;url&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;None&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;method&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;post&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;datas&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;None&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;params&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;None&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;f&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;è¯·æ±‚å‚æ•°:url:&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;url&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;,methodï¼š&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;method&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;,headers:&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.headers&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;f&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;è¯·æ±‚å‚æ•°:datas:&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;datas&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;,paramsï¼š&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;params&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;        import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; requests&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        res=requests.request(&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;            url&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=url,&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;            method&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=method,&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;            headers&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;self&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;.headers,&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;            json&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=datas,&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;            params&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=params&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        )&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;f&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;ç›¸åº”å†…å®¹ï¼š&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;res.json()&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info(&lt;/span&gt;&lt;span style="--shiki-dark:#4EC9B0;--shiki-light:#267F99;"&gt;str&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;(&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;f&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;æ–­è¨€å†…å®¹ï¼š&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;{&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;res.status_code&lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;}&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;==200&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;))&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;        assert&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; res.status_code==&lt;/span&gt;&lt;span style="--shiki-dark:#B5CEA8;--shiki-light:#098658;"&gt;200&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;        logger.info&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;        return&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; res&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;requests=RequestsT()&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;æµ‹è¯•ç”¨ä¾‹å±‚&lt;/li&gt;&lt;/ul&gt;&lt;div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" data-title="python" style="--shiki-dark:#D4D4D4;--shiki-light:#000000;--shiki-dark-bg:#1E1E1E;--shiki-light-bg:#FFFFFF;"&gt;&lt;pre class="shiki shiki-themes dark-plus light-plus vp-code"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; sys,os&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;sys.path.append(os.path.dirname(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;__file__&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;))&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;from&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; requestools &lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; requests&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; pytest&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;from&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; logtest &lt;/span&gt;&lt;span style="--shiki-dark:#C586C0;--shiki-light:#AF00DB;"&gt;import&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt; wrapper_log&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;con={&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;    &amp;#39;url&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;: &lt;/span&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;r&lt;/span&gt;&lt;span style="--shiki-dark:#D16969;--shiki-light:#811F3F;"&gt;&amp;#39;http://172.17.230.127:8180/my-web/service&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt;@wrapper_log&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; test_creat_bufferid&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;():&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    url=con[&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;url&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;]+&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;/v2/store/ago/create?storeCode=4846&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    res=requests.request(&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;url&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=url)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt;    id&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=res.json().get(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;data&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;).get(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    con[&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;bufferid&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;]=res.json().get(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;data&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;).get(&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt;@wrapper_log&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#569CD6;--shiki-light:#0000FF;"&gt;def&lt;/span&gt;&lt;span style="--shiki-dark:#DCDCAA;--shiki-light:#795E26;"&gt; test_query_goods&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;():&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    url=con[&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;url&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;]+&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;/v2/store/ago/line/edit/query&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    headers={&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;Content-Type&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;application/json;charset=UTF-8&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    params={&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;        &amp;quot;storeCode&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;4846&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;        &amp;quot;bufferId&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;: con[&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;bufferid&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;        &amp;quot;goodsInputCode&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;#39;06230&amp;#39;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;        &amp;quot;reqDate&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;2021-11-15 00:00:00&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;        &amp;quot;lineId&amp;quot;&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;:&lt;/span&gt;&lt;span style="--shiki-dark:#CE9178;--shiki-light:#A31515;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;    res=requests.request(url,&lt;/span&gt;&lt;span style="--shiki-dark:#9CDCFE;--shiki-light:#001080;"&gt;params&lt;/span&gt;&lt;span style="--shiki-dark:#D4D4D4;--shiki-light:#000000;"&gt;=params)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;div class="line-number"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;æµ‹è¯•æˆåŠŸç”¨ä¾‹éƒ¨åˆ†ç»“æžœ&lt;/li&gt;&lt;/ul&gt;&lt;figure&gt;&lt;img src="`+d+'" alt="img" tabindex="0" loading="lazy"&gt;&lt;figcaption&gt;img&lt;/figcaption&gt;&lt;/figure&gt;&lt;ul&gt;&lt;li&gt;æµ‹è¯•å¤±è´¥ç”¨ä¾‹éƒ¨åˆ†ç»“æžœ&lt;/li&gt;&lt;/ul&gt;&lt;figure&gt;&lt;img src="'+r+'" alt="img" tabindex="0" loading="lazy"&gt;&lt;figcaption&gt;img&lt;/figcaption&gt;&lt;/figure&gt;',29))])}const u=n(D,[["render",g],["__file","03-2-loguruä¼˜é›…åœ°æ—¥å¿—ç®¡ç†æ¨¡å—.html.vue"]]),o=JSON.parse('{"path":"/test_note/05-jiekou-ceshi/others/03-%E6%8B%93%E5%B1%95%E6%96%87%E6%A1%A3/%E6%97%A5%E5%BF%97/03-2-loguru%E4%BC%98%E9%9B%85%E5%9C%B0%E6%97%A5%E5%BF%97%E7%AE%A1%E7%90%86%E6%A8%A1%E5%9D%97.html","title":"loguru:ä¼˜é›…çš„æ—¥å¿—ç®¡ç†æ¨¡å—","lang":"zh-CN","frontmatter":{"description":"loguru:ä¼˜é›…çš„æ—¥å¿—ç®¡ç†æ¨¡å—","head":[["meta",{"property":"og:url","content":"https://imili.top/test_note/05-jiekou-ceshi/others/03-%E6%8B%93%E5%B1%95%E6%96%87%E6%A1%A3/%E6%97%A5%E5%BF%97/03-2-loguru%E4%BC%98%E9%9B%85%E5%9C%B0%E6%97%A5%E5%BF%97%E7%AE%A1%E7%90%86%E6%A8%A1%E5%9D%97.html"}],["meta",{"property":"og:site_name","content":"å—¨æˆ‘åœ¨è¿™å„¿ | è½¯å·¥å¢¨å®¢"}],["meta",{"property":"og:title","content":"loguru:ä¼˜é›…çš„æ—¥å¿—ç®¡ç†æ¨¡å—"}],["meta",{"property":"og:description","content":"loguru:ä¼˜é›…çš„æ—¥å¿—ç®¡ç†æ¨¡å—"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-12-21T06:32:53.000Z"}],["meta",{"property":"article:modified_time","content":"2024-12-21T06:32:53.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"loguru:ä¼˜é›…çš„æ—¥å¿—ç®¡ç†æ¨¡å—\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-12-21T06:32:53.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Frankie.Lee\\",\\"url\\":\\"https://codeup.aliyun.com/5fbc9cb45dbd2870061450bb/lxt_java\\"}]}"]]},"headers":[{"level":2,"title":"1. loguruçš„åŸºæœ¬ä»‹ç»","slug":"_1-loguruçš„åŸºæœ¬ä»‹ç»","link":"#_1-loguruçš„åŸºæœ¬ä»‹ç»","children":[{"level":3,"title":"1.å®‰è£…","slug":"_1-å®‰è£…","link":"#_1-å®‰è£…","children":[]},{"level":3,"title":"2.æ—¥å¿—ç­‰çº§","slug":"_2-æ—¥å¿—ç­‰çº§","link":"#_2-æ—¥å¿—ç­‰çº§","children":[]},{"level":3,"title":"3.åŸºæœ¬ä½¿ç”¨","slug":"_3-åŸºæœ¬ä½¿ç”¨","link":"#_3-åŸºæœ¬ä½¿ç”¨","children":[]}]},{"level":2,"title":"2. loguruæ¨¡å—çš„ç®€å•å°è£…","slug":"_2-loguruæ¨¡å—çš„ç®€å•å°è£…","link":"#_2-loguruæ¨¡å—çš„ç®€å•å°è£…","children":[]},{"level":2,"title":"3. è£…é¥°å™¨ç»“åˆloguruçš„ç®€å•åº”ç”¨","slug":"_3-è£…é¥°å™¨ç»“åˆloguruçš„ç®€å•åº”ç”¨","link":"#_3-è£…é¥°å™¨ç»“åˆloguruçš„ç®€å•åº”ç”¨","children":[]},{"level":2,"title":"4. æ—¥å¿—çš„ç®€å•åº”ç”¨ä¸€","slug":"_4-æ—¥å¿—çš„ç®€å•åº”ç”¨ä¸€","link":"#_4-æ—¥å¿—çš„ç®€å•åº”ç”¨ä¸€","children":[]},{"level":2,"title":"5. æ—¥å¿—çš„ç®€å•åº”ç”¨äºŒ","slug":"_5-æ—¥å¿—çš„ç®€å•åº”ç”¨äºŒ","link":"#_5-æ—¥å¿—çš„ç®€å•åº”ç”¨äºŒ","children":[]}],"git":{"createdTime":1730099339000,"updatedTime":1734762773000,"contributors":[{"name":"lxtao369","email":"lxtao369@126.com","commits":2}]},"readingTime":{"minutes":3.27,"words":982},"filePathRelative":"test_note/05-jiekou-ceshi/others/03-æ‹“å±•æ–‡æ¡£/æ—¥å¿—/03-2-loguruä¼˜é›…åœ°æ—¥å¿—ç®¡ç†æ¨¡å—.md","localizedDate":"2024å¹´10æœˆ28æ—¥","excerpt":"\\n","autoDesc":true}');export{u as comp,o as data};
</pre></body></html>