在芹菜中运行时,日志文件不存在

时间:2017-09-12 08:58:09

标签: python django logging

首先,我很抱歉我的低级英语

我创建了一个研究网站

我使用django + redis + celery

创建发送短信功能

任务/ send_buy_sms.py

from celery import Task
from items.utils import SendSMS

class SendBuyMessageTask(Task):

    def run(self, buyer_nickname, buyer_phone, saler_phone, selected_bookname):
        sms = SendSMS()
        sms.send_sms(buyer_nickname, buyer_phone, saler_phone, selected_bookname)

项/ utils.py

import os
import requests
import json


class SendSMS():

    def send_sms(self, buyer_nickname, buyer_phone, saler_phone, selected_bookname):
        appid = [...]
        apikey = [...]

        sender = '...'
        receivers = [saler_phone, ]

        content = '...'

        url = os.environ.get("URL")

        params = {
            'sender': sender,
            'receivers': receivers,
            'content': content,
        }
        headers = {...}
        r = '...'

        return params

当我使用我的代码发送短信时,它没有问题

[2017-09-12 17:20:43,532: WARNING/Worker-6] Task success

当用户点击“发送短信按钮”时,我想制作日志文件并插入日志“成功发送短信”

WEF / WEF / decorators.py

from django.utils import timezone
import logging

def log_decorator(func):

    logging.basicConfig(filename='../../sendsms.log', level=logging.INFO)

    def wrap_func(self, *args, **kwargs):
        time_stamp = timezone.localtime(timezone.now()).strftime('%Y-%m-%d %H:%M')
        logging.info('[{}] success send SMS'.format(time_stamp))
        print(logging)
        return func(self, *args, **kwargs)
    return wrap_func

但是当我点击'发送短信'按钮任务是好的,但是没有创建日志文件...

所以我想知道'问题是什么?'

我更改了代码create logfile - > print log

WEF / WEF / decorators.py

from django.utils import timezone

def log_decorator(func):

    def wrap_func(self, *args, **kwargs):
        time_stamp = timezone.localtime(timezone.now()).strftime('%Y-%m-%d %H:%M')
        ## print log
        print('[{}] succes send sms'.format(timestamp))
        ## print log
        return func(self, *args, **kwargs)
    return wrap_func

当我点击'发送短信按钮'时,芹菜中的日志打印

enter image description here

我很困惑,因为print()正在运行,但创建日志文件不起作用......

我认为我的代码(创建日志文件)没有问题,因为当我练习创建没有django,celery,redis的日志文件时,日志文件已成功创建

相同的代码,相同的功能但在django和芹菜中不起作用

请给我一些建议,谢谢

1 个答案:

答案 0 :(得分:0)

我猜你必须添加像 -

这样的记录器
val format = new SimpleDateFormat( "yyyy-MM-dd a hh:mm:ss.SSS")
format.setLenient( false)

Try(new Timestamp(format.parse("2015-11-13 PM 06:27:26.933").getTime)) match {
  case Success(t) => println(t.getTime)
  case Failure(err) => println(err)
}

这里我假设您已经配置了记录器,处理程序,过滤器和格式化程序

有关详细信息,请访问URL