diff --git a/ptools/settings.py b/ptools/settings.py index b1e6050..a4f6ea3 100644 --- a/ptools/settings.py +++ b/ptools/settings.py @@ -9,6 +9,7 @@ https://docs.djangoproject.com/en/4.0/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/4.0/ref/settings/ """ +import datetime import os # Build paths inside the project like this: BASE_DIR / 'subdir'. @@ -45,6 +46,7 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'corsheaders', 'import_export', 'django_apscheduler', 'django_admin_inline_paginator', @@ -60,6 +62,7 @@ MIDDLEWARE = [ 'django.middleware.gzip.GZipMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', + 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', # 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', @@ -155,6 +158,51 @@ AUTH_PASSWORD_VALIDATORS = [ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] +LOGGING = { + 'version': 1, # 版本 + 'disable_existing_loggers': False, # 是否禁用已经存在的日志器 + 'formatters': { # 日志信息显示的格式 + 'verbose': { + 'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s' + }, + 'simple': { + 'format': '%(levelname)s %(module)s %(lineno)d %(message)s' + }, + }, + 'filters': { # 过滤器 + 'require_debug_true': { # django在debug模式下才输出日志 + '()': 'django.utils.log.RequireDebugTrue', + }, + }, + 'handlers': { # 日志处理方法 + 'console': { # 向终端中输出日志 + 'level': 'DEBUG', # 输出等级为“INFO” + 'filters': ['require_debug_true'], + 'class': 'logging.StreamHandler', + 'formatter': 'simple' + }, + 'file': { # 向文件中输出日志 + 'level': 'DEBUG', # 输出等级为“INFO” + # 新增内容 + 'class': 'logging.handlers.TimedRotatingFileHandler', + 'filename': os.path.join(BASE_DIR, 'db/logs.log'), + 'when': 'midnight', + 'backupCount': 30, + # 'class': 'logging.handlers.RotatingFileHandler', + # 'filename': "db/{}.log".format(datetime.datetime.today()), # 日志文件的位置 + # 'maxBytes': 30 * 1024 * 1024, # 日志文件的大小(300*1024*1024为300MB) + # 'backupCount': 10, # 日志文件的数量(超过设定的最大值会自动备份,备份数量最大值为10) + 'formatter': 'verbose' # 日志输出格式:使用了在之前定义的'verbose' + }, + }, + 'loggers': { # 日志器 + 'ptools': { # 定义了一个名为django的日志器 + 'handlers': ['console', 'file'], # 可以同时向终端与文件中输出日志 + 'propagate': True, # 是否继续传递日志信息 + 'level': 'DEBUG', # 日志器接收的最低日志级别 + }, + } +} # Internationalization # https://docs.djangoproject.com/en/4.0/topics/i18n/