Arslan1997 commited on
Commit
535f98f
·
1 Parent(s): 69d683b

added stuff

Browse files
Files changed (2) hide show
  1. images/FireBirdTech (1).png +2 -2
  2. src/utils/logger.py +32 -12
images/FireBirdTech (1).png CHANGED

Git LFS Details

  • SHA256: 225ac6aeea6d1a36904991d7102f26087ad830c5980a9a7d4f5735570d4a39cc
  • Pointer size: 131 Bytes
  • Size of remote file: 276 kB

Git LFS Details

  • SHA256: 00507469c5e6448930c439164f96bcf678298e5397d106eb3d103ae4cc63df97
  • Pointer size: 131 Bytes
  • Size of remote file: 277 kB
src/utils/logger.py CHANGED
@@ -1,6 +1,7 @@
1
  import os
2
  import time
3
  import logging
 
4
  from dotenv import load_dotenv
5
 
6
  load_dotenv()
@@ -21,28 +22,47 @@ class Logger:
21
  "%(asctime)s - %(name)s - %(levelname)s - %(message)s" if see_time else "%(message)s,"
22
  )
23
 
24
- file_handler = logging.FileHandler(f"./logs/{name}.log")
 
25
  file_handler.setFormatter(formatter)
26
  self.logger.addHandler(file_handler)
27
 
28
  if console_log:
29
- console_handler = logging.StreamHandler()
 
30
  console_handler.setFormatter(formatter)
 
 
 
31
  self.logger.addHandler(console_handler)
32
 
33
  def log_message(self, message: str, level: int = logging.INFO):
34
  if not self.is_dev:
35
  return
36
- if level == logging.INFO:
37
- self.logger.info(message)
38
- elif level == logging.ERROR:
39
- self.logger.error(message)
40
- elif level == logging.WARNING:
41
- self.logger.warning(message)
42
- elif level == logging.DEBUG:
43
- self.logger.debug(message)
44
- else:
45
- self.logger.info(message)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  def disable_logging(self):
48
  self.logger.disabled = True
 
1
  import os
2
  import time
3
  import logging
4
+ import sys
5
  from dotenv import load_dotenv
6
 
7
  load_dotenv()
 
22
  "%(asctime)s - %(name)s - %(levelname)s - %(message)s" if see_time else "%(message)s,"
23
  )
24
 
25
+ # File handler with UTF-8 encoding
26
+ file_handler = logging.FileHandler(f"./logs/{name}.log", encoding='utf-8')
27
  file_handler.setFormatter(formatter)
28
  self.logger.addHandler(file_handler)
29
 
30
  if console_log:
31
+ # Console handler with UTF-8 encoding
32
+ console_handler = logging.StreamHandler(sys.stdout)
33
  console_handler.setFormatter(formatter)
34
+ # Force UTF-8 encoding for console output
35
+ if hasattr(console_handler.stream, 'reconfigure'):
36
+ console_handler.stream.reconfigure(encoding='utf-8')
37
  self.logger.addHandler(console_handler)
38
 
39
  def log_message(self, message: str, level: int = logging.INFO):
40
  if not self.is_dev:
41
  return
42
+ try:
43
+ if level == logging.INFO:
44
+ self.logger.info(message)
45
+ elif level == logging.ERROR:
46
+ self.logger.error(message)
47
+ elif level == logging.WARNING:
48
+ self.logger.warning(message)
49
+ elif level == logging.DEBUG:
50
+ self.logger.debug(message)
51
+ else:
52
+ self.logger.info(message)
53
+ except UnicodeEncodeError:
54
+ # Fallback: remove emoji characters if encoding fails
55
+ safe_message = message.encode('ascii', 'ignore').decode('ascii')
56
+ if level == logging.INFO:
57
+ self.logger.info(safe_message)
58
+ elif level == logging.ERROR:
59
+ self.logger.error(safe_message)
60
+ elif level == logging.WARNING:
61
+ self.logger.warning(safe_message)
62
+ elif level == logging.DEBUG:
63
+ self.logger.debug(safe_message)
64
+ else:
65
+ self.logger.info(safe_message)
66
 
67
  def disable_logging(self):
68
  self.logger.disabled = True