Django支持测试活动,例如日志记录,调试和异常处理。
无涯教程可以在日志文件下以文本格式捕获各种严重性级别的错误日志。
Django日志记录
Django可以使用Python logging 模块捕获和分类日志。日志文件包含以下元素:
Log_level:Logger_name:Message。 日志记录配置包括四个部分:
-
Loggers: 就像记录配置的入口点。记录器被命名为存储桶,可以在其中写入消息。
有一些日志记录级别定义了消息的严重性:
-
DEBUG - 它捕获底层和详细的系统信息以进行调试。日志记录级别 DEBUG 也可以应用值为 10 。
-
INFO - 它捕获常规系统信息。日志记录级别 INFO 也可以应用值为 20 。
-
WARNING - 它捕获描述次要问题或警告的信息。日志记录级别 WARNING 也可以应用值为 30 。
-
ERROR - 它会捕获描述主要问题的信息代码结构。日志记录级别 ERROR 也可以应用值为 40 。
-
CRITICAL - 它捕获描述严重或致命问题的信息。记录级别 CRITICAL 也可以应用值为 50 。
-
Handlers - 它确定记录器中每条消息发生什么情况。
-
Filters - 过滤器可以提供对哪些日志记录需要从记录器传递到处理程序的附加控制。
-
Formatters - 日志记录最终呈现为文本。格式化程序将python对象格式化为文本。
要实现日志记录,只需在下面的 settings.py 中编写以下代码
LOGGING = {
'version': 1,
'disable_existing_loggers':False,
'handlers':{
'console':{
'class':'logging.StreamHandler',
},
'file':{
'class':'logging.FileHandler',
'filename':'programink.log',
},
},
'root':{
'handlers':['console', 'file'],
'level':'DEBUG',
},
}
Django Exceptions 异常
Django的例外情况如下:
- AppRegistryNotReady
- ObjectDoesNotExist
- EmptyResultSet
- FieldDoesNotExist
- MultipleObjectsReturned
- SuspiciousOperation
- PermissionDenied
- ViewDoesNotExist
- MiddlewareNotUsed
- ImproperlyConfigured
- FieldError
- ValidationError
- UndefinedPostError
- TransactionManagementError
- DatabaseError
- IntegrityError
- DataError
- Resolver404
- NoReverseMatch