Skip to content
Snippets Groups Projects
Commit e0440a0b authored by Karim Ahmed's avatar Karim Ahmed
Browse files

feat: simplify implementation to JSON per line

parent 28309d57
No related branches found
No related tags found
No related merge requests found
...@@ -34,39 +34,6 @@ class CustomJsonFormatter(jsonlogger.JsonFormatter): ...@@ -34,39 +34,6 @@ class CustomJsonFormatter(jsonlogger.JsonFormatter):
log_record['exc_info'] = self.formatException(record.exc_info) log_record['exc_info'] = self.formatException(record.exc_info)
class JSONArrayHandler(logging.FileHandler):
def __init__(self, filename, mode='a', encoding=None, delay=False):
super().__init__(filename, mode, encoding, delay)
self.file_empty = True
def emit(self, record):
try:
msg = self.format(record)
json_msg = json.loads(msg)
with self.lock:
if self.stream is None:
self.stream = self._open()
if self.file_empty:
self.stream.write('[\n')
self.file_empty = False
else:
self.stream.write(',\n')
json.dump(json_msg, self.stream, indent=2)
self.stream.flush()
except Exception:
self.handleError(record)
def close(self):
if self.stream is not None:
with self.lock:
if not self.file_empty:
self.stream.write('\n]')
super().close()
# Create a logger # Create a logger
logger = logging.getLogger() logger = logging.getLogger()
logger.setLevel(logging.INFO) logger.setLevel(logging.INFO)
...@@ -80,7 +47,7 @@ formatter = CustomJsonFormatter( ...@@ -80,7 +47,7 @@ formatter = CustomJsonFormatter(
# Function to create a file handler with job-specific JSON log file # Function to create a file handler with job-specific JSON log file
def create_job_specific_handler(log_level, file_suffix): def create_job_specific_handler(log_level, file_suffix):
log_file = f'{file_suffix}_{JOB_ID}.json' log_file = f'{file_suffix}_{JOB_ID}.json'
handler = JSONArrayHandler(log_file, mode='a+', delay=True) handler = logging.FileHandler(log_file, delay=True)
handler.setLevel(log_level) handler.setLevel(log_level)
handler.setFormatter(formatter) handler.setFormatter(formatter)
return handler return handler
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment