2024-12-26 14:42:24 +02:00

91 lines
2.4 KiB
Python

import os
import pathlib
from service.config._settings import ProjectSettings
__all__ = ["ROOT_DIR", "TORTOISE_ORM", "settings", "LOGGING"]
ROOT_DIR = pathlib.Path(__file__).parent.parent.parent
settings = ProjectSettings()
os.environ.update({"APP_NAME": settings.project_name})
TORTOISE_ORM = {
"connections": {"default": settings.database_url},
"apps": {
"service": {
"models": ["service.database.models", "aerich.models"],
"default_connection": "default",
},
},
"use_tz": True,
}
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"filters": {},
"root": {"level": settings.log_level},
"formatters": {
"structured": {
"()": "setech.logging.LogJSONFormatter",
},
"simple": {
"format": "[%(asctime)s] %(levelname)-4s: %(message)s",
"datefmt": "%F %T",
},
"precise": {
"format": "[%(asctime)s][%(levelname)-4s][%(filename)s:%(funcName)s:%(lineno)s: %(message)s",
"datefmt": "%F %T %z",
},
},
"handlers": {
"console": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "simple",
},
"console_json": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "structured",
},
"console_precise": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "precise",
},
"query_file": {
"level": "INFO",
"class": "logging.FileHandler",
"filename": "logs/query.log",
"formatter": "structured",
},
},
"loggers": {
"tasks": {
"level": "INFO",
"handlers": ["console"],
"propagate": False,
},
"service": {
"level": "INFO",
"handlers": ["console"],
"propagate": False,
},
"api": {
"level": "INFO",
"handlers": ["console_json"],
"propagate": False,
},
"crud.journal": {
"level": "DEBUG",
"handlers": ["console_json"],
"propagate": False,
},
"tortoise.db_client": {
"level": "DEBUG",
"handlers": ["console_precise", "query_file"],
"propagate": False,
},
},
}