setting.py

  1. # 真实项目上线后,日志文件打印级别不能过低,因为一次日志记录就是一次文件io操作
  2. LOGGING = {
  3. 'version': 1,
  4. 'disable_existing_loggers': False,
  5. 'formatters': {
  6. 'verbose': {
  7. 'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
  8. },
  9. 'simple': {
  10. 'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
  11. },
  12. },
  13. 'filters': {
  14. 'require_debug_true': {
  15. '()': 'django.utils.log.RequireDebugTrue',
  16. },
  17. },
  18. 'handlers': {
  19. 'console': {
  20. # 实际开发建议使用WARNING
  21. 'level': 'DEBUG',
  22. 'filters': ['require_debug_true'],
  23. 'class': 'logging.StreamHandler',
  24. 'formatter': 'simple'
  25. },
  26. 'file': {
  27. # 实际开发建议使用ERROR
  28. 'level': 'INFO',
  29. 'class': 'logging.handlers.RotatingFileHandler',
  30. # 日志位置,日志文件名,日志保存目录必须手动创建,注:这里的文件路径要注意BASE_DIR代表的是小luffyapi
  31. 'filename': os.path.join(os.path.dirname(BASE_DIR), "logs", "luffy.log"),
  32. # 日志文件的最大值,这里我们设置300M
  33. 'maxBytes': 300 * 1024 * 1024,
  34. # 日志文件的数量,设置最大日志数量为10
  35. 'backupCount': 10,
  36. # 日志格式:详细格式
  37. 'formatter': 'verbose',
  38. # 文件内容编码
  39. 'encoding': 'utf-8'
  40. },
  41. },
  42. # 日志对象
  43. 'loggers': {
  44. 'django': {
  45. 'handlers': ['console', 'file'],
  46. 'propagate': True, # 是否让日志信息继续冒泡给其他的日志处理系统
  47. },
  48. }
  49. }

logger.py

  1. import logging
  2. def get_logger(name='django'):
  3. my_logger = logging.getLogger(name)
  4. return my_logger

ps: 使用时需要在根项目下创建logs文件夹
调用:

  1. from .logger import get_logger
  2. logger = get_logger('django')
  3. logger.error(报错内容)