У меня есть приложение django (Django-Rest-Framework), и я хочу добавить интеграцию с Loggly через HTTP.
я использовал библиотеку loggly-python-handler , но журналыне отправлено в Loggly.
я следовал документам: https://www.loggly.com/docs/python-http/
- я установил обработчик loggly-python
я добавил в django setting.py
подайте следующее:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
'json': {
'format': '{ "loggerName":"%(name)s", "timestamp":"%(asctime)s", "fileName":"%(filename)s", "logRecordCreationTime":"%(created)f", "functionName":"%(funcName)s", "levelNo":"%(levelno)s", "lineNo":"%(lineno)d", "time":"%(msecs)d", "levelName":"%(levelname)s", "message":"%(message)s"}',
},
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'level': 'DEBUG',
'formatter': 'verbose',
},
'loggly': {
'class': 'loggly.handlers.HTTPSHandler',
'level': 'INFO',
'formatter': 'json',
'url': 'https://logs-01.loggly.com/inputs/TOKEN/tag/python',
},
},
'loggers': {
'django': {
'handlers': ['console', ],
'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
},
'APPNAME': {
'handlers': ['console', 'loggly'],
'level': 'INFO',
},
},
}
я изменил токен на свой токен
- в моем приложении, в
views.py
, я вызвал регистратор:
import logging logger = logging.getLogger ( name ) logger.info ('это сообщение INFO.')
Я использую Fiddler , чтобы увидеть все HTTP-запросы, но я не вижу ни одного запроса, отправленного на loggly url.
, когда я вызываю его напрямую с помощью curl, он работает.
curl -H "content-type:text/plain" -d '{ "message" : "hello" }' http://logs-01.loggly.com/inputs/61fd261c-062f-44b1-b866-f03f5d50f720/tag/http/