zoukankan      html  css  js  c++  java
  • Django项目添加日志

    给Django项目添加日志,需要在settings.py及views.py页面进行设置。

    settings.py页面,添加代码:

    BASE_LOG_DIR = os.path.join(BASE_DIR, "log")
    LOGGING = {
        'version': 1,  # 保留字
        'disable_existing_loggers': False,  # 禁用已经存在的logger实例
        # 日志文件的格式
        'formatters': {
            # 详细的日志格式
            'standard': {
                #  "format": "%(asctime)s - %(message)s",
                'format': '日志级别:{levelname},生成时间: {asctime} ,模块:{module} ,进程:{process:d},'
                          '线程:{thread:d} , 消息:{message}',
                'style': '{',
            },
        },
        # 过滤器
        'filters': {
            'require_debug_true': {
                '()': 'django.utils.log.RequireDebugTrue',
            },
        },
        # 处理器
        'handlers': {
            # 默认的
            'default': {
                'level': 'INFO',
                'class': 'logging.handlers.RotatingFileHandler',  # 保存到文件,自动切
                'filename': os.path.join(BASE_LOG_DIR, "message.log"),  # 日志文件
                'maxBytes': 1024 * 1024 * 50,  # 日志大小 50M
                'backupCount': 3,  # 最多备份几个
                'formatter': 'standard',
                'encoding': 'utf-8',
            },
    
        },
        'loggers': {
            # 默认的logger应用如下配置
            '': {
                'handlers': ['default'],  # 上线之后可以把'console'移除
                'level': 'WARNING',
                'propagate': True,  # 向不向更高级别的logger传递
            },
        },
    }

    这里的loggers是整个日志配置的起点,负责配置日志级别及对应的处理器,并且还可以设置是否向更高级logger传递等。

    另外,如果想更自动化些,可以在settings.py中添加如下代码:

    if not os.path.exists(BASE_LOG_DIR):
        os.mkdir(BASE_LOG_DIR)

    让系统在运行时自动创建日志文件夹

    然后在views.py文件添加:

    import logging
    # 生成一个名为collect的logger实例
    logger = logging.getLogger(__name__)

    在具体的方法中也可以添加日志记录代码:logger.error('sdsdfsdfsdfsd')。

    然后打开日志文件即可看到日志信息。

    文章出处:www.cnblogs.com/jizhong

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。否则保留追究法律责任的权利。

  • 相关阅读:
    <script>标签的加载解析执行
    百度地图API位置偏移的校准算法
    开源实时消息推送系统 MPush
    开源GIS软件 4
    Bootstrap 只读输入框
    javascript中的后退和刷新
    HTML中的文本框textarea标签
    Spring Boot 特性 —— SpringApplication
    SpringMVC使用POST方法传递数据,却出现Request method 'GET' not supported?
    springboot的登录拦截机制
  • 原文地址:https://www.cnblogs.com/jizhong/p/15133485.html
Copyright © 2011-2022 走看看