我有Django应用(Django-Rest-Framework),我想通过HTTP添加与Loggly的集成。
我使用了库 loggly-python-handler ,但日志未发送到Loggly。
我关注了文档:https://www.loggly.com/docs/python-http/
i已将以下内容添加到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
中,我叫记录器:导入日志 logger = logging.getLogger(名称) logger.info(“这是INFO消息。”)
我使用 Fiddler 查看所有HTTP请求,但没有看到发送到Loggly网址的任何请求。
当我直接用curl调用它时,它会起作用。
curl -H "content-type:text/plain" -d '{ "message" : "hello" }' http://logs-01.loggly.com/inputs/61fd261c-062f-44b1-b866-f03f5d50f720/tag/http/