DinoPLayZ commited on
Commit
372a47d
·
verified ·
1 Parent(s): edf988a

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +10 -2
main.py CHANGED
@@ -30,6 +30,14 @@ import sys
30
  IST = timezone(timedelta(hours=5, minutes=30))
31
  logging.Formatter.converter = lambda *args: datetime.fromtimestamp(args[-1], tz=IST).timetuple()
32
 
 
 
 
 
 
 
 
 
33
  # Explicitly configure root logger
34
  root_logger = logging.getLogger()
35
  root_logger.setLevel(logging.INFO)
@@ -38,8 +46,8 @@ root_logger.setLevel(logging.INFO)
38
  if root_logger.hasHandlers():
39
  root_logger.handlers.clear()
40
 
41
- # Attach StreamHandler explicitly to stdout
42
- stdout_handler = logging.StreamHandler(sys.stdout)
43
  stdout_handler.setLevel(logging.INFO)
44
  formatter = logging.Formatter(
45
  fmt='[%(asctime)s] %(levelname)s: %(message)s',
 
30
  IST = timezone(timedelta(hours=5, minutes=30))
31
  logging.Formatter.converter = lambda *args: datetime.fromtimestamp(args[-1], tz=IST).timetuple()
32
 
33
+ class PrintHandler(logging.Handler):
34
+ def emit(self, record):
35
+ try:
36
+ msg = self.format(record)
37
+ print(msg, flush=True)
38
+ except Exception:
39
+ self.handleError(record)
40
+
41
  # Explicitly configure root logger
42
  root_logger = logging.getLogger()
43
  root_logger.setLevel(logging.INFO)
 
46
  if root_logger.hasHandlers():
47
  root_logger.handlers.clear()
48
 
49
+ # Attach PrintHandler explicitly to bypass Docker fd buffering
50
+ stdout_handler = PrintHandler()
51
  stdout_handler.setLevel(logging.INFO)
52
  formatter = logging.Formatter(
53
  fmt='[%(asctime)s] %(levelname)s: %(message)s',