我正在尝试使用 OpenCensus 将我的 django 项目日志连接到 Azure Application Insights。montirong 请求的中间件运行良好,但我还想将遥测日志(不仅仅是请求)发送到 Azure。这是我的 django 日志配置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(asctime)s %(levelname).3s %(process)d %(name)s : %(message)s',
},
'simple': {
'format': '%(asctime)s %(levelname)-7s : %(message)s',
},
},
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
}
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'verbose',
},
'azure': {
'formatter': 'simple',
'class': 'opencensus.ext.azure.log_exporter.AzureLogHandler',
'connection_string': 'InstrumentationKey=XXXX-XXXX-XXXX-XXXX'
},
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'': {
'level': os.environ.get('LOGLEVEL', 'INFO'),
'handlers': ['console', 'azure'],
},
'devdebug': {
'handlers': ['console'],
'level': 'INFO',
'propagate': False,
},
'django': {
'handlers': ['console', 'mail_admins'],
'level': os.environ.get('LOGLEVEL', 'INFO'),
'propagate': False,
}
},
}
'azure'
在我的根记录器配置中没有处理程序,一切正常。使用'azure'
处理程序,服务器启动但不工作:我无法连接到它。我真的不知道发生了什么,因为它没有显示不寻常的日志(即使使用 LOGLEVEL=DEBUG)。我的处理程序配置应该很好,因为我可以在 Azure 中接收日志(当我运行任何管理命令时)。即使我运行manage runsslserver localhost:53215
,我也会收到日志,但是当我尝试访问它时,就像我的服务器没有运行一样。