Israel commited on
Commit
ddb89c4
·
1 Parent(s): 77e6efe

Debug: improve logging information and formatter.

Browse files
Files changed (2) hide show
  1. run_first.py +3 -3
  2. scripts/utils/logger.py +41 -0
run_first.py CHANGED
@@ -2,11 +2,11 @@ import json
2
  from scripts.utils.ReadFiles import get_filenames_from_dir
3
  from scripts.ResumeProcessor import ResumeProcessor
4
  from scripts.JobDescriptionProcessor import JobDescriptionProcessor
 
5
  import logging
6
  import os
7
- logging.basicConfig(filename='app.log', filemode='w',
8
- level=logging.DEBUG,
9
- format='%(name)s - %(levelname)s - %(message)s')
10
 
11
  PROCESSED_RESUMES_PATH = "Data/Processed/Resumes"
12
  PROCESSED_JOB_DESCRIPTIONS_PATH = "Data/Processed/JobDescription"
 
2
  from scripts.utils.ReadFiles import get_filenames_from_dir
3
  from scripts.ResumeProcessor import ResumeProcessor
4
  from scripts.JobDescriptionProcessor import JobDescriptionProcessor
5
+ from scripts.utils.logger import init_logging_config
6
  import logging
7
  import os
8
+
9
+ init_logging_config()
 
10
 
11
  PROCESSED_RESUMES_PATH = "Data/Processed/Resumes"
12
  PROCESSED_JOB_DESCRIPTIONS_PATH = "Data/Processed/JobDescription"
scripts/utils/logger.py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import logging
2
+
3
+
4
+ def init_logging_config():
5
+ class CustomFormatter(logging.Formatter):
6
+ def __init__(self, file=False):
7
+ super().__init__()
8
+ yellow = "\x1b[36;10m" if not file else ""
9
+ blue = "\x1b[35;10m" if not file else ""
10
+ green = "\x1b[32;10m" if not file else ""
11
+ red = "\x1b[31;10m" if not file else ""
12
+ bold_red = "\x1b[31;1m" if not file else ""
13
+ reset = "\x1b[0m" if not file else ""
14
+ log = "%(asctime)s (%(filename)s:%(lineno)d) - %(levelname)s: "
15
+ msg = reset + "%(message)s"
16
+
17
+ self.FORMATS = {
18
+ logging.DEBUG: blue + log + msg,
19
+ logging.INFO: green + log + msg,
20
+ logging.WARNING: yellow + log + msg,
21
+ logging.ERROR: red + log + msg,
22
+ logging.CRITICAL: bold_red + log + msg,
23
+ }
24
+
25
+ def format(self, record):
26
+ log_fmt = self.FORMATS.get(record.levelno)
27
+ formatter = logging.Formatter(log_fmt)
28
+ return formatter.format(record)
29
+
30
+ logger = logging.getLogger()
31
+ logger.setLevel(logging.DEBUG)
32
+
33
+ stderr_handler = logging.StreamHandler()
34
+ stderr_handler.setLevel(logging.DEBUG)
35
+ stderr_handler.setFormatter(CustomFormatter())
36
+ logger.addHandler(stderr_handler)
37
+
38
+ file_handler = logging.FileHandler("app.log", mode="w")
39
+ file_handler.setLevel(logging.DEBUG)
40
+ file_handler.setFormatter(CustomFormatter(True))
41
+ logger.addHandler(file_handler)