cevheri's picture
format: ruff format line-length 145
aaa82f0
raw
history blame contribute delete
916 Bytes
from pydantic_settings import BaseSettings, SettingsConfigDict
from loguru import logger
class LogConfig(BaseSettings):
"""Logging configuration to be set for the server with LOG PREFIX in env variables"""
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
logger.add(
self.FILE_NAME,
level=self.LEVEL,
rotation=self.FILE_SIZE,
retention=self.FILE_COUNT,
# compression=self.FILE_AGE,
)
model_config = SettingsConfigDict(
env_prefix="LOG_",
env_file=".env",
env_file_encoding="utf-8",
extra="ignore",
)
LEVEL: str = "DEBUG"
FILE_NAME: str = "app.log"
FILE_SIZE: int = 10485760 # 10MB
FILE_COUNT: int = 3
FILE_AGE: int = 3600 # 1 hour
def get_log_level(self) -> int:
return logger.level(self.LEVEL)
log_config = LogConfig()