mirror of
https://github.com/rommapp/romm.git
synced 2026-02-18 00:27:41 +01:00
Drop log middleware
This commit is contained in:
@@ -16,6 +16,39 @@ LIGHTMAGENTA = Fore.LIGHTMAGENTA_EX
|
||||
RESET = Fore.RESET
|
||||
RESET_ALL = Style.RESET_ALL
|
||||
|
||||
LOGGING_CONFIG = {
|
||||
"version": 1,
|
||||
"disable_existing_loggers": False,
|
||||
"formatters": {
|
||||
"romm": {
|
||||
"()": "logger.formatter.Formatter",
|
||||
}
|
||||
},
|
||||
"handlers": {
|
||||
"default": {
|
||||
"formatter": "romm",
|
||||
"class": "logging.StreamHandler",
|
||||
"stream": "ext://sys.stdout",
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"handlers": ["default"],
|
||||
"level": "INFO",
|
||||
},
|
||||
"loggers": {
|
||||
"uvicorn": {
|
||||
"level": "INFO",
|
||||
"handlers": ["default"],
|
||||
"propagate": False,
|
||||
},
|
||||
"uvicorn.error": {
|
||||
"level": "INFO",
|
||||
"handlers": ["default"],
|
||||
"propagate": False,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def should_strip_ansi() -> bool:
|
||||
"""Determine if ANSI escape codes should be stripped."""
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
import logging
|
||||
import time
|
||||
|
||||
from starlette.middleware.base import BaseHTTPMiddleware
|
||||
from starlette.requests import Request
|
||||
from user_agents import parse as parse_user_agent
|
||||
|
||||
log = logging.getLogger("uvicorn.access")
|
||||
|
||||
LOGGING_CONFIG = {
|
||||
"version": 1,
|
||||
"disable_existing_loggers": False,
|
||||
"formatters": {
|
||||
"romm": {
|
||||
"()": "logger.formatter.Formatter",
|
||||
}
|
||||
},
|
||||
"handlers": {
|
||||
"default": {
|
||||
"formatter": "romm",
|
||||
"class": "logging.StreamHandler",
|
||||
"stream": "ext://sys.stdout",
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"handlers": ["default"],
|
||||
"level": "INFO",
|
||||
},
|
||||
"loggers": {
|
||||
"uvicorn": {
|
||||
"level": "INFO",
|
||||
"handlers": ["default"],
|
||||
"propagate": False,
|
||||
},
|
||||
"uvicorn.error": {
|
||||
"level": "INFO",
|
||||
"handlers": ["default"],
|
||||
"propagate": False,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
class CustomLoggingMiddleware(BaseHTTPMiddleware):
|
||||
async def dispatch(self, request: Request, call_next):
|
||||
start_time = time.time()
|
||||
response = await call_next(request)
|
||||
process_time = time.time() - start_time
|
||||
|
||||
client_addr = request.client.host if request.client else "-"
|
||||
method = request.method
|
||||
path = request.url.path
|
||||
status_code = response.status_code
|
||||
length = response.headers.get("content-length", "-")
|
||||
ua_string = request.headers.get("user-agent", "-")
|
||||
ua = parse_user_agent(ua_string)
|
||||
|
||||
browser = ua.browser.family
|
||||
os = ua.os.family
|
||||
|
||||
log_msg = (
|
||||
f"{client_addr} | "
|
||||
f"{method} {path} {status_code} | {length} | "
|
||||
f"{browser} {os} | {process_time:.3f}"
|
||||
)
|
||||
|
||||
log.info(log_msg)
|
||||
return response
|
||||
@@ -44,7 +44,7 @@ from handler.auth.constants import ALGORITHM
|
||||
from handler.auth.hybrid_auth import HybridAuthBackend
|
||||
from handler.auth.middleware import CustomCSRFMiddleware, SessionMiddleware
|
||||
from handler.socket_handler import socket_handler
|
||||
from logger.log_middleware import LOGGING_CONFIG, CustomLoggingMiddleware
|
||||
from logger.formatter import LOGGING_CONFIG
|
||||
from utils import get_version
|
||||
from utils.context import (
|
||||
ctx_aiohttp_session,
|
||||
@@ -135,8 +135,8 @@ app.mount("/ws", socket_handler.socket_app)
|
||||
add_pagination(app)
|
||||
|
||||
|
||||
# NOTE: This code is only executed when running the application directly, not by Production
|
||||
# deployments using Gunicorn.
|
||||
# NOTE: This code is only executed when running the application directly,
|
||||
# not by deployments using gunicorn.
|
||||
if __name__ == "__main__":
|
||||
# Run migrations
|
||||
alembic.config.main(argv=["upgrade", "head"])
|
||||
@@ -145,5 +145,4 @@ if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
|
||||
# Run application
|
||||
app.add_middleware(CustomLoggingMiddleware)
|
||||
uvicorn.run("main:app", host=DEV_HOST, port=DEV_PORT, reload=True, access_log=False)
|
||||
|
||||
Reference in New Issue
Block a user