habulaj commited on
Commit
4c6217e
·
verified ·
1 Parent(s): bed7b92

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -2
app.py CHANGED
@@ -1,9 +1,40 @@
1
- from fastapi import FastAPI
2
- from starlette.middleware.cors import CORSMiddleware
3
  from routers import profanity, other_route # Importa as rotas
 
 
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  app = FastAPI()
6
 
 
 
 
7
  @app.get("/")
8
  def greet_json():
9
  return {"Hello": "World!"}
 
1
+ import logging
2
+ from fastapi import FastAPI, Request
3
  from routers import profanity, other_route # Importa as rotas
4
+ from starlette.middleware.base import BaseHTTPMiddleware
5
+ import time
6
 
7
+ # Configuração do logging
8
+ logging.basicConfig(level=logging.INFO)
9
+ logger = logging.getLogger(__name__)
10
+
11
+ # Criação do middleware personalizado para log
12
+ class LogRequestMiddleware(BaseHTTPMiddleware):
13
+ async def dispatch(self, request: Request, call_next):
14
+ # Captura o início da requisição
15
+ start_time = time.time()
16
+
17
+ # Realiza a requisição
18
+ response = await call_next(request)
19
+
20
+ # Dados da requisição
21
+ ip = request.client.host # IP de origem
22
+ method = request.method # Método HTTP
23
+ path = request.url.path # Caminho da URL
24
+ status_code = response.status_code # Código de status da resposta
25
+ process_time = time.time() - start_time # Tempo de processamento
26
+
27
+ # Log detalhado
28
+ logger.info(f"Request: {method} {path} from {ip} - Status: {status_code} - Process Time: {process_time:.4f} seconds")
29
+
30
+ return response
31
+
32
+ # Instancia a aplicação FastAPI
33
  app = FastAPI()
34
 
35
+ # Adiciona o middleware
36
+ app.add_middleware(LogRequestMiddleware)
37
+
38
  @app.get("/")
39
  def greet_json():
40
  return {"Hello": "World!"}