1,在项目下建个文件夹    log

2,在django的setting的配置下添加路径     BASE_LOG_DIR = os.path.join(BASE_DIR, "log")

  1. LOGGING = {
  2. 'version': 1,
  3. 'disable_existing_loggers': False,
  4. 'formatters': {
  5. 'standard': {
  6. 'format': '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]'
  7. '[%(levelname)s][%(message)s]'
  8. },
  9. 'simple': {
  10. 'format': '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'
  11. },
  12. 'collect': {
  13. 'format': '%(message)s'
  14. }
  15. },
  16. 'filters': {
  17. 'require_debug_true': {
  18. '()': 'django.utils.log.RequireDebugTrue',
  19. },
  20. },
  21. 'handlers': {
  22. 'console': {
  23. 'level': 'DEBUG',
  24. 'filters': ['require_debug_true'], # 只有在Django debug为True时才在屏幕打印日志
  25. 'class': 'logging.StreamHandler',
  26. 'formatter': 'simple'
  27. },
  28. 'default': {
  29. 'level': 'INFO',
  30. 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
  31. 'filename': os.path.join(BASE_LOG_DIR, "info.log"), # 日志文件
  32. 'maxBytes': 1024 * 1024 * 500, # 日志大小 500M
  33. 'backupCount': 3,
  34. 'formatter': 'standard',
  35. 'encoding': 'utf-8',
  36. },
  37. 'error': {
  38. 'level': 'ERROR',
  39. 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
  40. 'filename': os.path.join(BASE_LOG_DIR, "err.log"), # 日志文件
  41. 'maxBytes': 1024 * 1024 * 500, # 日志大小 500M
  42. 'backupCount': 5,
  43. 'formatter': 'standard',
  44. 'encoding': 'utf-8',
  45. },
  46. 'collect': {
  47. 'level': 'INFO',
  48. 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
  49. 'filename': os.path.join(BASE_LOG_DIR, "collect.log"),
  50. 'maxBytes': 1024 * 1024 * 500, # 日志大小 500M
  51. 'backupCount': 5,
  52. 'formatter': 'collect',
  53. 'encoding': "utf-8"
  54. }
  55. },
  56. 'loggers': {
  57. # 默认的logger应用如下配置
  58. '': {
  59. 'handlers': ['default', 'console', 'error'], # 上线之后可以把'console'移除
  60. 'level': 'DEBUG',
  61. 'propagate': True,
  62. },
  63. # 名为 'collect'的logger还单独处理
  64. 'collect': {
  65. 'handlers': ['console', 'collect'],
  66. 'level': 'INFO',
  67. }
  68. },
  69. }

3,如何引用:

在当前文件下 :

import logging

  1. # 生成一个以当前文件名为名字的 logger实例
    logger = logging.getLogger(__name__)
    # 生成一个名字为collect的日志实例
    collect_logger = logging.getLogger('collect')
    logger.warning() warning级别
    collect_logger.info() info级别
    logger.debug() debug级别
    logger.info() info级别
  1.  

Django logging配置的更多相关文章

  1. ModelViewSet 路由 / django logging配置 / django-debug-toolbar使用

    一.ModelViewSet 路由 因为我们正在使用ViewSet代替View,实际上已经不再需要自己来设计URL的配置了.将资源和视图.URL绑定到一起是一个可以自动完成的过程,只需要使用Route ...

  2. python 全栈开发,Day96(Django REST framework 视图,django logging配置,django-debug-toolbar使用指南)

    昨日内容回顾 1. Serializer(序列化) 1. ORM对应的query_set和ORM对象转换成JSON格式的数据 1. 在序列化类中定义自定义的字段:SerializerMethodFie ...

  3. 第十三篇Django Logging配置样例

    第十三篇Django Logging配置样例 阅读目录(Content) Django 日志配置模板 官方链接 Django Logging Django 日志配置模板 LOGGING = { 've ...

  4. Django—logging配置

    我写Django项目常用的logging配置. # Django的日志配置项 BASE_LOG_DIR = os.path.join(BASE_DIR, "log") LOGGIN ...

  5. python3-开发进阶Django-debug-toolbar的配置和Django logging的配置

    阅读目录 django-debug-toolbar的配置 Django logging的配置 一.django-debug-toolbar的配置 1.介绍 django-debug-toolbar 是 ...

  6. python logging 配置

    python logging 配置 在python中,logging由logger,handler,filter,formater四个部分组成,logger是提供我们记录日志的方法:handler是让 ...

  7. django-debug-toolbar和Django 日志配置

    django-debug-toolbar介绍 django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息. gith ...

  8. Django logging模块

    一.Django logging配置 1.在setting.py中配置 # 日志文件存放路径 BASE_LOG_DIR = os.path.join(BASE_DIR, "log" ...

  9. Django框架----logging配置

    我写Django项目常用的logging配置.(追加在setting.py文件中) LOGGING = { 'version': 1, 'disable_existing_loggers': Fals ...

随机推荐

  1. Spring-扫描注解原理,注解自动扫描原理分析

    注解自动扫描原理分析 在spring的配置文件中加入如下代码,spring便开启了自动扫描,那么它的底层到底是如何实现的呢? <context:component-scan base-packa ...

  2. 【题解】洛谷P3660 [USACO17FEB]Why Did the Cow Cross the Road III

    题目地址 又是一道奶牛题 从左到右扫描,树状数组维护[左端点出现而右端点未出现]的数字的个数.记录每个数字第一次出现的位置. 若是第二次出现,那么删除第一次的影响. #include <cstd ...

  3. Maven基础入门与核心知识

    Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件. Maven是一个项目管理和综合工具.Maven提供了开 ...

  4. iframe 自适应

    <iframe src="http://www.fulibac.com" id="myiframe" scrolling="no" o ...

  5. Python可变参数*和**

    可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可以是1个.2个到任意个,还可以是0个. 我们以数学题为例子,给定一组数字a,b,c……,请计算a2 ...

  6. Spring自定义类扫描器 ClassPathScanningCandidateComponentProvider

    项目中有个需求 读取xml文件,然后 对xml文件进行解析,比如如果是 Gender=0/1的话,分别代表男女. 所以需要在构造函数之后,初始化bean之前进行过滤解析 xml文件: <inte ...

  7. docker基础维护命令

    docker images显示当前存在的images docker ps,显示当前的container docker rm containerId 删除指定的container(需要先停止,才能删除) ...

  8. Python连接SQL Server数据库 - pymssql使用基础

    连接数据库 pymssql连接数据库的方式和使用sqlite的方式基本相同: 使用connect创建连接对象 connect.cursor创建游标对象,SQL语句的执行基本都在游标上进行 cursor ...

  9. vue中@contextmenu在pc和mac中的区别

    项目中有用到右键菜单,故用了@contextmenu,由于本人是用的PC电脑,所以一切正常, 但是有同事用mac测试了一下,问题随之而来,MAC上右键按下就触发了, PC上面是鼠标抬起才会触发,所以这 ...

  10. linux服务端日志中截取自己所需要的部分

    近期开发一个图片处理的业务,涉及base64字符串解析的问题,为方便与友商间接口调试,日志中保存Base64.日,想想就肝儿疼,记录下来容易,取的时候难.为准确提取,配合两条命令即可. 1.获取日志所 ...