擅长:python、mysql、java
<p>如果我理解正确的话,您一次运行一个特定的Python进程好几天,并且希望每天都循环日志。我建议您使用另一种方法,使用自动旋转日志文件的处理程序,例如<a href="http://www.blog.pythonlibrary.org/2014/02/11/python-how-to-create-rotating-logs/" rel="nofollow">http://www.blog.pythonlibrary.org/2014/02/11/python-how-to-create-rotating-logs/</a></p>
<p>但是,如果你想用你习惯的方法(Python控制台,粘贴代码)来控制日志。。非常不堪入目且容易出错,但有时quick-n-dirty对于手头的任务来说就足够了),嗯。。。在</p>
<p>每次在你创建一个新的FileLogger对象时,你都要添加一个新的FileLogger对象。最后,您将得到一个附加了X个文件处理程序的记录器,所有这些文件都写入同一个文件。试试这个:</p>
<pre><code>import logging
paths = {'work': ''}
logger = logging.getLogger('oneDayFileLoader')
if logger.handlers:
logger.handlers[0].close()
logger.handlers = []
logHandler = logging.FileHandler(os.path.join(paths["work"] , "oneDayFileLoader.log"), mode='w')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
logHandler.setFormatter(formatter)
logger.addHandler(logHandler)
logger.setLevel(logging.DEBUG)
logger.error('overwrite')
</code></pre>
<p>根据您的请求,我还添加了一个使用TimeDrotingFileHandler的示例。注意,我还没有在本地测试过,所以如果您有问题,请ping回来。在</p>
^{pr2}$