loganalysis.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import sys
  2. import re
  3. import requests
  4. import json
  5. prelines = 10
  6. postlines = 10
  7. def find_errors_in_log_file():
  8. if len(sys.argv) < 2:
  9. print("Usage: python loganalysis.py <filename>")
  10. return
  11. log_file_path = sys.argv[1]
  12. with open(log_file_path, 'r') as log_file:
  13. log_lines = log_file.readlines()
  14. error_lines = []
  15. for i, line in enumerate(log_lines):
  16. if re.search('error', line, re.IGNORECASE):
  17. error_lines.append(i)
  18. error_logs = []
  19. for error_line in error_lines:
  20. start_index = max(0, error_line - prelines)
  21. end_index = min(len(log_lines), error_line + postlines)
  22. error_logs.extend(log_lines[start_index:end_index])
  23. return error_logs
  24. error_logs = find_errors_in_log_file()
  25. data = {
  26. "prompt": "\n".join(error_logs),
  27. "model": "mattw/loganalyzer"
  28. }
  29. response = requests.post("http://localhost:11434/api/generate", json=data, stream=True)
  30. for line in response.iter_lines():
  31. if line:
  32. json_data = json.loads(line)
  33. if json_data['done'] == False:
  34. print(json_data['response'], end='')