<p>你想要的是</p>
<ol>
<li>创建2个非根日志记录器。</li>
<li>为每个文件创建处理程序,指向不同的文件</li>
<li><p>将处理程序添加到适当的记录器</p>
<pre><code>logger1 = logging.getLogger('general_logger')
logger2 = logging.getLogger('some_other_logger')
log_handler1 = logging.handlers.RotatingFileHandler(file_1, *args)
log_handler2 = logging.handlers.RotatingFileHandler(file_2, *args)
logger1.addHandler(log_handler1)
logger2.addHandler(log_handler2)
</code></pre></li>
</ol>
<p>那么</p>
<pre><code> logger1.info("this will be logged to file_1 ")
logger2.info("this will be logged to file_2 ")
</code></pre>
<p>请注意,如果您创建一个根日志记录器和一个不同的日志记录器,根日志记录器将记录此不同控制器试图记录的所有内容。</p>
<p>换句话说,如果</p>
<pre><code> root_logger = logging.getLogger()
logger2 = logging.getLogger('some_other_logger')
root_log_handler = logging.handlers.RotatingFileHandler(file_1, *args)
log_handler2 = logging.handlers.RotatingFileHandler(file_2, *args)
root_logger.addHandler(root_log_handler)
logger2.addHandler(log_handler2)
</code></pre>
<p>那么</p>
<pre><code> root_logger.info("this will be logged to file_1 ")
logger2.info("this will be logged to file_1 AND file_2 ")
</code></pre>