1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00
This commit is contained in:
MoonTestUse1
2024-12-28 06:14:08 +06:00
parent 1bdddbb98f
commit 699fb2077d
29 changed files with 1317 additions and 1 deletions

View File

@@ -1,56 +0,0 @@
"""Logging configuration for the application"""
logging_config = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"default": {
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
},
"access": {
"format": "%(asctime)s - %(name)s - %(levelname)s - %(client_addr)s - %(request_line)s - %(status_code)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers": {
"console": {
"class": "logging.StreamHandler",
"level": "INFO",
"formatter": "default",
"stream": "ext://sys.stdout"
},
"file": {
"class": "logging.handlers.RotatingFileHandler",
"level": "INFO",
"formatter": "default",
"filename": "logs/app.log",
"maxBytes": 10485760, # 10MB
"backupCount": 5
},
"access_file": {
"class": "logging.handlers.RotatingFileHandler",
"level": "INFO",
"formatter": "access",
"filename": "logs/access.log",
"maxBytes": 10485760, # 10MB
"backupCount": 5
}
},
"loggers": {
"": { # Root logger
"handlers": ["console", "file"],
"level": "INFO"
},
"app": { # Application logger
"handlers": ["console", "file"],
"level": "INFO",
"propagate": False
},
"app.access": { # Access logger
"handlers": ["access_file"],
"level": "INFO",
"propagate": False
}
}
}

View File

@@ -99,7 +99,7 @@ async def create_request(
# Get employee details for the notification
employee = employees.get_employee(db, new_request.employee_id)
# Prepare notification data2
# Prepare notification data
notification_data = {
"id": new_request.id,
"employee_last_name": employee.last_name,

View File

@@ -1,3 +0,0 @@
from .logging import LoggingMiddleware
__all__ = ['LoggingMiddleware']

View File

@@ -1,39 +0,0 @@
"""Logging middleware for request/response tracking"""
import time
from fastapi import Request
from starlette.middleware.base import BaseHTTPMiddleware
import logging
logger = logging.getLogger("app.access")
class LoggingMiddleware(BaseHTTPMiddleware):
async def dispatch(self, request: Request, call_next):
start_time = time.time()
# Log request
logger.info(
"Request started 1",
extra={
"client_addr": request.client.host,
"request_line": f"{request.method} {request.url.path}",
"status_code": "PENDING"
}
)
response = await call_next(request)
# Calculate processing time
process_time = time.time() - start_time
# Log response
logger.info(
"Request completed",
extra={
"client_addr": request.client.host,
"request_line": f"{request.method} {request.url.path}",
"status_code": response.status_code,
"process_time": f"{process_time:.2f}s"
}
)
return response