|
57 | 57 | <li class="toctree-l7"><a class="reference internal" href="../../../src.common.html#src.common.base_log.Log.warning"><code class="docutils literal notranslate"><span class="pre">Log.warning()</span></code></a></li> |
58 | 58 | <li class="toctree-l7"><a class="reference internal" href="../../../src.common.html#src.common.base_log.Log.error"><code class="docutils literal notranslate"><span class="pre">Log.error()</span></code></a></li> |
59 | 59 | <li class="toctree-l7"><a class="reference internal" href="../../../src.common.html#src.common.base_log.Log.critical"><code class="docutils literal notranslate"><span class="pre">Log.critical()</span></code></a></li> |
| 60 | +<li class="toctree-l7"><a class="reference internal" href="../../../src.common.html#src.common.base_log.Log.set_config"><code class="docutils literal notranslate"><span class="pre">Log.set_config()</span></code></a></li> |
60 | 61 | <li class="toctree-l7"><a class="reference internal" href="../../../src.common.html#src.common.base_log.Log.exception"><code class="docutils literal notranslate"><span class="pre">Log.exception()</span></code></a></li> |
61 | 62 | </ul> |
62 | 63 | </li> |
|
232 | 233 | <li class="toctree-l6"><a class="reference internal" href="../../../src.protocol.html#src.protocol.frame.FRAME_START_BYTE"><code class="docutils literal notranslate"><span class="pre">FRAME_START_BYTE</span></code></a></li> |
233 | 234 | <li class="toctree-l6"><a class="reference internal" href="../../../src.protocol.html#src.protocol.frame.FRAME_END_BYTE"><code class="docutils literal notranslate"><span class="pre">FRAME_END_BYTE</span></code></a></li> |
234 | 235 | <li class="toctree-l6"><a class="reference internal" href="../../../src.protocol.html#src.protocol.frame.BROADCAST_ADDR"><code class="docutils literal notranslate"><span class="pre">BROADCAST_ADDR</span></code></a></li> |
235 | | -<li class="toctree-l6"><a class="reference internal" href="../../../src.protocol.html#src.protocol.frame.Frame"><code class="docutils literal notranslate"><span class="pre">Frame</span></code></a></li> |
| 236 | +<li class="toctree-l6"><a class="reference internal" href="../../../src.protocol.html#src.protocol.frame.Frame"><code class="docutils literal notranslate"><span class="pre">Frame</span></code></a><ul> |
| 237 | +<li class="toctree-l7"><a class="reference internal" href="../../../src.protocol.html#src.protocol.frame.Frame.description"><code class="docutils literal notranslate"><span class="pre">Frame.description</span></code></a></li> |
| 238 | +</ul> |
| 239 | +</li> |
236 | 240 | </ul> |
237 | 241 | </li> |
238 | 242 | <li class="toctree-l5"><a class="reference internal" href="../../../src.protocol.html#module-src.protocol.log">src.protocol.log module</a></li> |
@@ -751,6 +755,59 @@ <h1>src.common.base_log 源代码</h1><div class="highlight"><pre> |
751 | 755 | <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">critical</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
752 | 756 |
|
753 | 757 |
|
| 758 | +<div class="viewcode-block" id="Log.set_config"> |
| 759 | +<a class="viewcode-back" href="../../../src.common.html#src.common.base_log.Log.set_config">[文档]</a> |
| 760 | + <span class="k">def</span><span class="w"> </span><span class="nf">set_config</span><span class="p">(</span> |
| 761 | + <span class="bp">self</span><span class="p">,</span> |
| 762 | + <span class="n">filename</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> |
| 763 | + <span class="n">cmdlevel</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">"DEBUG"</span><span class="p">,</span> |
| 764 | + <span class="n">filelevel</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">"INFO"</span><span class="p">,</span> |
| 765 | + <span class="n">backup_count</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">7</span><span class="p">,</span> |
| 766 | + <span class="n">limit</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"20 MB"</span><span class="p">,</span> |
| 767 | + <span class="n">when</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> |
| 768 | + <span class="n">colorful</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> |
| 769 | + <span class="n">compression</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> |
| 770 | + <span class="p">):</span> |
| 771 | +<span class="w"> </span><span class="sd">"""动态修改日志配置"""</span> |
| 772 | + <span class="c1"># 移除旧的handler</span> |
| 773 | + <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">remove</span><span class="p">()</span> |
| 774 | + |
| 775 | + <span class="c1"># 重新添加handler</span> |
| 776 | + <span class="k">if</span> <span class="n">filename</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| 777 | + <span class="n">filename</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="s2">"__main__"</span><span class="p">],</span> <span class="s2">"__file__"</span><span class="p">,</span> <span class="s2">"log.py"</span><span class="p">)</span> |
| 778 | + <span class="n">filename</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">filename</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">".py"</span><span class="p">,</span> <span class="s2">".log"</span><span class="p">))</span> |
| 779 | + |
| 780 | + <span class="c1"># 确保日志目录存在</span> |
| 781 | + <span class="n">log_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">filename</span><span class="p">))</span> |
| 782 | + <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">log_dir</span><span class="p">):</span> |
| 783 | + <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">log_dir</span><span class="p">)</span> |
| 784 | + |
| 785 | + <span class="c1"># 控制台输出配置</span> |
| 786 | + <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">add</span><span class="p">(</span> |
| 787 | + <span class="n">sys</span><span class="o">.</span><span class="n">stderr</span><span class="p">,</span> |
| 788 | + <span class="n">level</span><span class="o">=</span><span class="n">cmdlevel</span><span class="p">,</span> |
| 789 | + <span class="nb">format</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_formatter</span><span class="p">,</span> |
| 790 | + <span class="n">colorize</span><span class="o">=</span><span class="n">colorful</span><span class="p">,</span> |
| 791 | + <span class="n">backtrace</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> |
| 792 | + <span class="n">enqueue</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> |
| 793 | + <span class="nb">filter</span><span class="o">=</span><span class="k">lambda</span> <span class="n">record</span><span class="p">:</span> <span class="n">record</span><span class="p">[</span><span class="s2">"extra"</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"task"</span><span class="p">)</span> <span class="o">==</span> <span class="n">filename</span><span class="p">,</span> |
| 794 | + <span class="p">)</span> |
| 795 | + |
| 796 | + <span class="c1"># 文件输出配置</span> |
| 797 | + <span class="n">rotation_config</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_rotation_config</span><span class="p">(</span><span class="n">when</span><span class="p">,</span> <span class="n">limit</span><span class="p">)</span> |
| 798 | + <span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">add</span><span class="p">(</span> |
| 799 | + <span class="n">filename</span><span class="p">,</span> |
| 800 | + <span class="n">level</span><span class="o">=</span><span class="n">filelevel</span><span class="p">,</span> |
| 801 | + <span class="nb">format</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_formatter</span><span class="p">,</span> |
| 802 | + <span class="n">backtrace</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> |
| 803 | + <span class="n">rotation</span><span class="o">=</span><span class="n">rotation_config</span><span class="p">,</span> |
| 804 | + <span class="n">retention</span><span class="o">=</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">backup_count</span><span class="si">}</span><span class="s2"> days"</span><span class="p">,</span> |
| 805 | + <span class="n">compression</span><span class="o">=</span><span class="n">compression</span><span class="p">,</span> |
| 806 | + <span class="n">enqueue</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> |
| 807 | + <span class="nb">filter</span><span class="o">=</span><span class="k">lambda</span> <span class="n">record</span><span class="p">:</span> <span class="n">record</span><span class="p">[</span><span class="s2">"extra"</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"task"</span><span class="p">)</span> <span class="o">==</span> <span class="n">filename</span><span class="p">,</span> |
| 808 | + <span class="p">)</span></div> |
| 809 | + |
| 810 | + |
754 | 811 | <div class="viewcode-block" id="Log.exception"> |
755 | 812 | <a class="viewcode-back" href="../../../src.common.html#src.common.base_log.Log.exception">[文档]</a> |
756 | 813 | <span class="k">def</span><span class="w"> </span><span class="nf">exception</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
|
0 commit comments