我希望启动Python程序的多个实例(进程),并希望每个实例都写入自己的日志文件。
这些流程每天至少重启一次。
所以我得到了以下代码。
logHandler = TimedRotatingFileHandler(os.path.join(os.path.dirname(sys.argv[0]),'logs/LogFile_'+str(os.getpid())+'.log'),when="midnight", backupCount=7)
我理想的是,只保留1周的日志。可以使用TimeRotatingFileHander完成此操作而无需编写单独的清除/删除脚本吗?
答案 0 :(得分:3)
RotatingFileHandler
,但是当日志达到一个大小时,而不是在特定时间,它会旋转,所以它不允许你指定一周的日志。我对于如何保持给定流程的pid不断给出'流程将至少每天重启一次'而感到有点困惑。每个进程具有唯一日志路径的更强保证是明确地将其作为参数提供,例如, python script --log-file="$(pwd)/logs/LogFileProcX.log"