python项目之日志器及其他的配置

一、日志器的配置

问题:为什么需要日志器呢?

在开发的过程当中,出现的一些bug和一些报错的信息,如果没有日志器,在终端显示后并不会保存下来,如果我们想日后查看报错信息,就需要日志器将这些信息保存下来;

再一个在生产过程中,首先我们是在开发阶段,在这个阶段我们都是在终端上面进行调试,然后再部署到服务器上面,如阿里云服务器。当别人访问我们的服务器的时候,出现的一些bug和一些报错信息,也可以通过日志器来存起来,我们开发人员就可以通过这日志将问题找出。另外设计到网络安全问题,当出现异常请求,请求我们的服务器,比如黑客暴力请求,如果此时我们没有服务器,我们就无法得知这些异常请求信息,就没办法找到问题和解决问题。

问题:日志器配置在什么位置

配置在setting.py文件中 

# 配置日志器
LOGGING = {    # logging命名是固定的
    # 版本
    'version': 1,   # 日志版本号
    # 是否禁用已存在的日志器
    'disable_existing_loggers': False,    # 设为False表示不禁止其他日志器
    'formatters': {      # 它指定了日志的格式,通过这个设定格式来显示信息
        'verbose': {   # 更加复杂的日志
            'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'   # asctime产生日志信息的时间
        },
        'simple': {   # 只是简单的日志格式
            'format': '%(levelname)s %(module)s %(lineno)d %(message)s'   # levelname:表示是哪一种日志信息,是异常报错还是其他, module表示是哪个模块出现了错误
        },  # lineno:表示是哪一行出现了错误, message指的是具体的日志信息
    },
    'filter': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'handlers': {    # 一种处理器,日志是通过文件的方式来保存日志,还是终端显示日志
        'console': {  # 通过终端显示日志信息
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
        'file': {   # 通过文件来保存日志信息
            'level': 'INFO',   # 保存等级是info
            'class': 'logging.handlers.RotatingFileHandler',
            'filtename': os.path.join(BASE_DIR, 'logs/zgzeng.log'),  # 日志文件的位置
            'maxBytes': 300 * 1024 * 1024,  # 日志文件保存的日志信息的最大信息量,这里设置成了300M, 如果所有的日志文件都装满了信息,那么后面产生的日志信息就会覆盖前面的日志信息
            'backupCount': 10,   # 设置日志文件的量,这里设置了10个
            'formatter': 'verbose'
        },
    },
    'loggers': {
        'django': {  # 定义一个名为django的日志器
            'handlers': ['console', 'file'],  # 通过console和file两种方法来记录日志
            'propagate': True,
            'level': 'INFO',  # 日志器接收的最低日志级别
        }
    }
}

 

再创建logs文件夹,日志器的文件保存路径要和日志器中保持一致,如下图

 二、语言配置

 language设置成中文,默认的是英文,时间设置成东八区时间

三、静态文件的设置

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),   # 用于存放静态文件
]

 然后在根目录下面创建一个static文件夹

 
原文地址:https://www.cnblogs.com/zgzeng/p/12675698.html