DinoPLayZ commited on
Commit
9a1e731
·
verified ·
1 Parent(s): 5d7441a

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +13 -34
main.py CHANGED
@@ -26,14 +26,19 @@ load_dotenv()
26
  # LOGGING (Task 5)
27
  # ==============================================================================
28
  IST = timezone(timedelta(hours=5, minutes=30))
29
- logging.Formatter.converter = lambda *args: datetime.fromtimestamp(args[-1], tz=IST).timetuple()
30
 
31
- logging.basicConfig(
32
- level=logging.INFO,
33
- format='[%(asctime)s] %(levelname)s: %(message)s',
34
- datefmt='%I:%M:%S %p'
35
- )
36
- logger = logging.getLogger(__name__)
 
 
 
 
 
 
37
 
38
  # ==============================================================================
39
  # CONFIGURATION
@@ -1003,33 +1008,7 @@ if __name__ == "__main__":
1003
  elif args.run:
1004
  # Launch FastAPI which internally starts the loop
1005
  port = int(os.getenv("PORT", 7860))
1006
-
1007
- LOGGING_CONFIG = {
1008
- "version": 1,
1009
- "disable_existing_loggers": False,
1010
- "formatters": {
1011
- "default": {
1012
- "()": "uvicorn.logging.DefaultFormatter",
1013
- "fmt": "[%(asctime)s] %(levelname)s: %(message)s",
1014
- "use_colors": False,
1015
- },
1016
- },
1017
- "handlers": {
1018
- "default": {
1019
- "formatter": "default",
1020
- "class": "logging.StreamHandler",
1021
- "stream": "ext://sys.stdout",
1022
- },
1023
- },
1024
- "loggers": {
1025
- "uvicorn": {"handlers": ["default"], "level": "INFO", "propagate": False},
1026
- "uvicorn.error": {"level": "INFO"},
1027
- "uvicorn.access": {"handlers": ["default"], "level": "WARNING", "propagate": False},
1028
- "__main__": {"handlers": ["default"], "level": "INFO", "propagate": False},
1029
- },
1030
- }
1031
-
1032
- uvicorn.run(app, host="0.0.0.0", port=port, log_config=LOGGING_CONFIG)
1033
  else:
1034
  # Default behavior: run FastAPI
1035
  port = int(os.getenv("PORT", 7860))
 
26
  # LOGGING (Task 5)
27
  # ==============================================================================
28
  IST = timezone(timedelta(hours=5, minutes=30))
 
29
 
30
+ class PrintLogger:
31
+ """A brute-force custom logger that completely bypasses Uvicorn's logging module handlers."""
32
+ def info(self, msg):
33
+ print(f"[{datetime.now(IST).strftime('%I:%M:%S %p')}] INFO: {msg}", flush=True)
34
+ def warning(self, msg):
35
+ print(f"[{datetime.now(IST).strftime('%I:%M:%S %p')}] WARNING: {msg}", flush=True)
36
+ def error(self, msg):
37
+ print(f"[{datetime.now(IST).strftime('%I:%M:%S %p')}] ERROR: {msg}", flush=True)
38
+ def debug(self, msg):
39
+ pass # Suppress debug logs by default to keep console clean
40
+
41
+ logger = PrintLogger()
42
 
43
  # ==============================================================================
44
  # CONFIGURATION
 
1008
  elif args.run:
1009
  # Launch FastAPI which internally starts the loop
1010
  port = int(os.getenv("PORT", 7860))
1011
+ uvicorn.run(app, host="0.0.0.0", port=port, log_level="warning")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1012
  else:
1013
  # Default behavior: run FastAPI
1014
  port = int(os.getenv("PORT", 7860))