django - Django 日志配置在本地服务器上工作,但不在远程服务器上
问题描述
我正在尝试在 django 设置文件中配置 django 日志记录,以便它将我的应用程序的 django 信息和信息记录到自定义文件中以便于查看。这是我的日志记录配置:
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'console': {
# exact format is not important, this is the minimum information
'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
},
'file': {
# exact format is not important, this is the minimum information
'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
},
},
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'formatter': 'file',
'filename': 'logs/django_log.log',
'backupCount': 10, # keep at most 10 log files
'maxBytes': 5242880, # 5*1024*1024 bytes (5MB)
},
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'console',
},
},
'loggers': {
'django': {
'handlers': ['file', 'console'],
'level': 'INFO',
'propagate': True,
},
'py.warnings': {
'handlers': ['console'],
},
'my_application': {
'level': 'INFO',
'handlers': ['file', 'console'],
# required to avoid double logging with root logger
'propagate': False,
},
},
}
这适用于我的本地 manage.py 测试服务器,出现 django 事件和我记录的事件,初始化my_application
为记录器名称。但是,在我的 Web 服务器上,创建了日志文件,奇怪的是,它只填充了偶尔的 djangoWARNING
消息。因此,没有权限错误或无法访问日志文件。由于相同的配置在我的本地工作,配置不可能是问题,它显然只有INFO
级别日志。
我的服务器设置取自本指南:https ://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-18-04并使用 Gunicorn 和 Nginx 作为反向代理。问题可能出在这些配置上吗?我难住了。
此外,存储此 django 日志文件的最佳实践位置在哪里?
此外,还有一个相关的额外问题:如果记录了特定错误,可以通知您的免费/廉价服务的最佳最佳实践是什么?设置类似的东西似乎是个好主意,但我不认为 django 电子邮件程序一定是最优雅或最好的。