我正在使用Python3 (Ubuntu 14.04)来编写日志文件。我想要限制日志文件的大小,因此选择了
我已经尝试过这样使用
我发现日志文件会不断增长,并且在达到限制时不会被截断或“包装”。我原以为设置
RotatingFileHandler
。另外,我不想要轮换日志文件(.log变成.log.1等),我只是想要限制日志文件的大小。我已经尝试过这样使用
RotatingFileHandler
:filehandler = logging.handlers.RotatingFileHandler( "app.log", "a", 1000, 0, None, True )
logging.basicConfig( format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s", level = logging.DEBUG, handlers = [ filehandler ] )
我发现日志文件会不断增长,并且在达到限制时不会被截断或“包装”。我原以为设置
backupCount = 0
会导致在写入日志消息之前检查日志文件大小,如果有足够的空间,则写入日志消息,否则清空文件并写出消息。你有什么想法吗?提前感谢您的回答。Bernmeister.
doRollover()
中,为什么要删除文件self.baseFilename + ".1"
...我看不出除了self.baseFilename
之外还会存在其他文件? - Bernmeisteros.rename
和os.remove
语句之间停止Logger(例如,解释器崩溃),则可能存在剩余文件。但是我认为你的答案是正确的:只需删除baseFilename
即可。 - logc