经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Django » 查看文章
Django自带日志 settings.py文件配置方法
来源:jb51  时间:2019/8/30 9:41:43  对本文有异议

Django settings.py文件配置部分:

  1. # logging配置
  2. log_file = '/home/nagain/learn/log'
  3. log_file_path = os.path.join(log_file, 'all.log')
  4. if not os.path.exists(log_file):
  5. os.mkdir(log_file)
  6. os.mknod(log_file_path) # 创建空文件
  7. LOGGING = {
  8. 'version': 1,
  9. 'disable_existing_loggers': True,
  10. 'formatters': {
  11. # 日志格式
  12. 'standard': {
  13. 'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] '
  14. '[%(module)s:%(funcName)s] [%(levelname)s]- %(message)s'
  15. }
  16. },
  17. 'filter': {
  18. },
  19. 'handlers': {
  20. 'mail_admins': {
  21. 'level': 'ERROR',
  22. 'class': 'django.utils.log.AdminEmailHandler',
  23. 'include_html': True,
  24. },
  25. 'default': {
  26. 'level': 'DEBUG',
  27. 'class': 'logging.handlers.RotatingFileHandler',
  28. 'filename': log_file_path, # 日志输出文件
  29. 'maxBytes': 1024*1024*5, # 文件大小
  30. 'backupCount': 5, # 备份份数
  31. 'formatter': 'standard', #使用哪种formatters日志格式
  32. },
  33. 'error': {
  34. 'level': 'ERROR',
  35. 'class': 'logging.handlers.RotatingFileHandler',
  36. 'filename': log_file_path,
  37. 'maxBytes': 1024*1024*5,
  38. 'backupCount': 5,
  39. 'formatter': 'standard',
  40. },
  41. 'console': {
  42. 'level': 'DEBUG',
  43. 'class': 'logging.StreamHandler',
  44. 'formatter': 'standard'
  45. },
  46. 'request_handler': {
  47. 'level': 'DEBUG',
  48. 'class': 'logging.handlers.RotatingFileHandler',
  49. 'filename': log_file_path,
  50. 'maxBytes': 1024*1024*5,
  51. 'backupCount': 5,
  52. 'formatter': 'standard',
  53. },
  54. 'scprits_handler': {
  55. 'level': 'DEBUG',
  56. 'class': 'logging.handlers.RotatingFileHandler',
  57. 'filename': log_file_path,
  58. 'maxBytes': 1024*1024*5,
  59. 'backupCount': 5,
  60. 'formatter': 'standard',
  61. }
  62. },
  63. 'loggers': {
  64. 'django': {
  65. 'handlers': ['default', 'console'], # 来自上面定义的handlers内容
  66. 'level': 'INFO',
  67. 'propagate': False # 是否继承父类的log信息
  68. },
  69. 'scripts': {
  70. 'handlers': ['scprits_handler'],
  71. 'level': 'INFO',
  72. 'propagate': False
  73. },
  74. # sourceDns.webdns.views 应用的py文件
  75. 'sourceDns.webdns.views': {
  76. 'handlers': ['default', 'error'],
  77. 'level': 'INFO',
  78. 'propagate': True
  79. },
  80. 'sourceDns.webdns.util': {
  81. 'handlers': ['error'],
  82. 'level': 'ERROR',
  83. 'propagate': True
  84. },
  85. # 'django.request': {
  86. # 'handlers': ['mail_admins'],
  87. # 'level': 'ERROR',
  88. # 'propagate': False,
  89. # },
  90. }
  91. }

项目视图函数views.py使用实例:

  1. # 日志
  2. import logging
  3. logger = logging.getLogger('sourceDns.webdns.views') # 获取settings.py配置文件中logger名称
  4. def index(request):
  5. a = reverse('index:article')
  6. logger.info(a)
  7. return HttpResponseRedirect(a)

注意:错误日志记录级别level

级别 描述
CRITICAL 50 关键错误/消息
ERROR 40 错误
WARNING 30 警告消息
INFO 20 通知消息
DEBUG 10 调试
NOTSET 0 无级别

注意:记录器 handler

关键字参数 描述
filename 将日志消息附加到指定文件名的文件
filemode 指定用于打开文件模式
format 用于生成日志消息的格式字符串
datefmt 用于输出日期和时间的格式字符串
level 设置记录器的级别
stream 提供打开的文件,用于把日志消息发送到文件。

注意: format日志消息显示格式

格式 描述
%(name)s 记录器的名称
%(levelno)s 数字形式的日志记录级别
%(levelname)s 日志记录级别的文本名称
%(filename)s 执行日志记录调用的源文件的文件名称
%(pathname)s 执行日志记录调用的源文件的路径名称
%(funcName)s 执行日志记录调用的函数名称
%(module)s 执行日志记录调用的模块名称
%(lineno)s

执行日志记录调用的行号

%(created)s 执行日志记录的时间
%(asctime)s 日期和时间
%(msecs)s 毫秒部分
%(thread)d 线程ID
%(threadName)s 线程名称
%(process)d 进程ID
%(message)s 记录的消息

注意: 内置处理器

logging模块提供了一些处理器,可以通过各种方式处理日志消息。使用addHandler()方法将这些处理器添加给Logger对象。另外还可以为每个处理器配置它自己的筛选和级别。

  1. handlers.DatagramHandler(hostport):发送日志消息给位于制定hostport上的UDP服务器。
  2. handlers.FileHandler(filename):将日志消息写入文件filename
  3. handlers.HTTPHandler(host, url):使用HTTPGETPOST方法将日志消息上传到一台HTTP 服务器。
  4. handlers.RotatingFileHandler(filename):将日志消息写入文件filename。如果文件的大小超出maxBytes制定的值,那么它将被备份为filename1

*****以上内容也是自己查询通过自己测试是可行的,如果想要了解更加详细,请自行查看神器(django官方文档)*****

这篇Django自带日志 settings.py文件配置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号