django频道内的日志未显示消费者

时间:2018-10-08 13:34:39

标签: python django django-channels

环境:

OS: redhat
python version: 3.6
django: 2.1
django channels: 2.1.3

以下是我的logging.conf文件(与settings.py相同级别):

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
    'standard': {
        'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s',
        'datefmt': '%Y-%m-%d %H:%M:%S',
    },
},
'handlers': {
    'file': {
        'level': 'DEBUG',
        'class': 'logging.FileHandler',
        'filename': 'debug.log',
        'formatter': 'standard'
    },
},
'loggers': {
    'django': {
        'handlers': ['file'],
        'level': 'DEBUG',
        'propagate': True,
    },
},
}

django_logger = logging.getLogger('django')

和要记录的功能如下:

def log_it(*args):
    try:
        django_logger.info(str(args).encode('utf-8'))
        return True
    except:
        django_logger.info('#### Exception in LOGGING!!!!!!')
    return False

我正在使用它来登录Django使用者内部,如下所示:

class EchoConsumer(SyncConsumer):
   def websocket_connect(self, event):
      try:
          log_it('inside EchoConsumer connect()', event)
          self.send({
            "type": "websocket.accept",
          })
        return True
      except:
          error = traceback.format_exc()
          write_error_log(error)
      return False

   def websocket_receive(self, event):
      try:
          log_it('inside EchoConsumer receive()', event)
          self.send({
            "type": "websocket.send",
            "text": event["text"],
          })
          return True
      except:
          error = traceback.format_exc()
          write_error_log(error)
      return False

未调用使用者内部使用的log_it()

(假设:将通道与django集成必须已覆盖django日志记录设置)

我检查了达芙妮访问日志中的消费者是否有任何问题。 我还检查了我的nginx conf,但是连接请求记录如下:

127.0.0.1:45100 - - [08/Oct/2018:19:00:58] "WSCONNECTING /ws/event/" - -
127.0.0.1:45100 - - [08/Oct/2018:19:00:58] "WSCONNECT /ws/event/" - -
  

注意:我已将/ ws / event链接到routing.py中的EchoConsumer

我的期望是:

127.0.0.1:45100 - - [08/Oct/2018:19:00:58] "WSCONNECTING /ws/event/" - -
127.0.0.1:45100 - - [08/Oct/2018:19:00:58] "WSCONNECT /ws/event/" - -
inside EchoConsumer connect() ....

知道为什么不显示日志语句吗?

PS related issue on github

0 个答案:

没有答案