如何创建日期明智的芹菜日志文件?

How to create date-wise celery log file?

我创建了 django 网站,我在其中使用 celery 服务进行任务调度。

当前的问题是每天的 celery 日志文件都在增加,并且在 3-4 天内日志文件大小达到 100 MB。

我已经创建了代码,这样 celery 服务应该能够按日期创建日志文件,但第二天 celery 将日志插入到前一个日期文件中。

def SvcDoRun(self):
        logging.info('Starting {name} service ...'.format(name=self._svc_name_))
        os.chdir(INSTDIR) # so that proj worker can be found
        logging.info('cwd: ' + os.getcwd())
        self.ReportServiceStatus(win32service.SERVICE_RUNNING)
        command = '"{celery_path}" -A {proj_dir} worker --pool=solo -f "{log_path}" -l info'.format(
            celery_path=os.path.join(PYTHONSCRIPTPATH, 'celery.exe'),
            proj_dir=PROJECTDIR,
            log_path=os.path.join(INSTDIR,'celery_'+cur_date+'.log'))
        logging.info('command: ' + command)
        args = shlex.split(command)
        proc = subprocess.Popen(args)
        logging.info('pid: {pid}'.format(pid=proc.pid))
        self.timeout = 3000
        while True:
            rc = win32event.WaitForSingleObject(self.hWaitStop, self.timeout)
            if rc == win32event.WAIT_OBJECT_0:
                # stop signal encountered
                # terminate process 'proc'
                PROCESS_TERMINATE = 1
                handle = win32api.OpenProcess(PROCESS_TERMINATE, False, proc.pid)
                win32api.TerminateProcess(handle, -1)
                win32api.CloseHandle(handle)
                break

请帮助解决上述问题,如果有人有更好的解决方案为每个日期创建单独的日志文件,请告诉我。

谢谢。

明显的解决方案是每天轮换日志,考虑使用 logrotate