Django使用动态名称进行日志记录

时间:2016-01-20 08:46:05

标签: python django error-logging

我正在尝试在我的django项目中创建日志,但我希望每次执行都有一个不同文件名的日志。到目前为止,我所做的就像它写成here一样,但这会创建一个日志并将所有内容放入其中。我希望每次执行的日志都带有动态名称,例如实例名称+日期或其他内容。可以这样做吗?

编辑:创建计划任务的代码示例。 (我想你会从中得到它的作用)

def create_schedule (inst):


     path_task=os.path.join(os.path.join(os.path.dirname(__file__),os.pardir),os.pardir)
     path_task=path_task[:len(path_task)-2]+'executeInstance.py'
     tr='"py '+path_task + ' ' + str(inst.id)+'"'
     tn='Inst ' + str(inst.id)

     time=inst.schedule.time


     if inst.schedule.scheduleType=='Weekly':

        w_days=''
        for day in inst.schedule.weekDays.all():
                if w_days!='':
                   w_days=w_days+','
                w_days=w_days+day.weekDay[:3].upper()

        tn='"'+tn+'"'
        cmd_sch='schtasks /create /tn ' + tn + ' /tr ' + tr + ' /sc weekly /d '+ w_days + ' /st ' + time + ' /RU SYSTEM'
        result = subprocess.check_output(cmd_sch, shell=True)

然后在executeInstance.py

中捕获异常
    except smtplib.SMTPDataError as e:

            status_log='Error'
            error_desc='Message size too big for your email server'


            inst=Instance.objects.get(id=instance_id)
            log=Log(instance=inst,status=status_log,errorDesc=error_desc,executionDate=datetime.now())
            log.save()
            logger.error(log)

1 个答案:

答案 0 :(得分:1)