File size: 995 Bytes
29cdc9d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import json
import datetime
import os
class Logger:
def __init__(self, log_file="src/devcore/logs/build.log"):
self.log_file = log_file
os.makedirs(os.path.dirname(self.log_file), exist_ok=True)
def log(self, level, source, message, context=None):
entry = {
"timestamp": datetime.datetime.now().isoformat(),
"level": level,
"source": source,
"message": message,
"context": context or {}
}
with open(self.log_file, "a") as f:
f.write(json.dumps(entry) + "\n")
def query_errors(self):
"""Retrieves only error-level logs for the agent to analyze."""
errors = []
if not os.path.exists(self.log_file):
return errors
with open(self.log_file, "r") as f:
for line in f:
entry = json.loads(line)
if entry["level"] == "ERROR":
errors.append(entry)
return errors
|