七、DRF中的router路由及loggin模块

创建SimpleRouter路由对象
# router = routers.SimpleRouter()
# 使用DefaultRouter,会自动创建根路由页面
router = routers.DefaultRouter()
 
注册路由
# 第一个参数为路由前缀(支持正则),一般添加为应用名即可
# 第二个参数为视图集类(只有继承ViewSet才能支持router)
# 第三个参数指定url别名前缀,一般不需要指定
router.register(r'projects', views.ProjectViewSet, basename="bs")
# 将url添加到urlpatterns中,因为urlpatterns和router.urls都是列表,可以相加
urlpatterns += router.urls。

 

日志模块
在文件中导入loggin模块,然后创建logging = logging.getLogger("test")日志器对象,test为日志器的名称
LOGGING = {
    # 当前日志的版本号
    'version': 1,
    # 是否禁用其他的日志处理器,如果有其他日志处理器时使用
    'disable_existing_loggers': False,
    # 指定日志的显示格式
    'formatters': {
        'verbose': {
# 详细的日志
            'format': '%(asctime)s - [%(levelname)s] - %(name)s - [msg]%(message)s - [%(filename)s:%(lineno)d ]'
        },
        'simple': {
# 简化版的日志
            'format': '%(asctime)s - [%(levelname)s] - [msg]%(message)s'
        },
    },
# 日志过滤
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
# 日志的输出渠道
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
# 在console中输入简化版的日志
            'formatter': 'simple'
        },
        'file': {
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
# 日志文件的位置
            'filename': os.path.join(BASE_DIR, "logs/test.log"),  
            # 日志大小,超出会分割创建新的日志文件
            'maxBytes': 100 * 1024 * 1024,
                    # 最多10个日志文件
            'backupCount': 10,
#在文件中保存详细版本的日志
            'formatter': 'verbose',
            'encoding': 'utf-8'
        },
    },
    'loggers': {
        'test': {  # 定义了一个名为test的日志器
            'handlers': ['console', 'file'],
            'propagate': True,
            'level': 'DEBUG',  # 日志器接收的最低日志级别
        },
    }
}

 

posted @ 2020-10-22 20:31  SoleMemory  阅读(255)  评论(0)    收藏  举报