"src/vscode:/vscode.git/clone" did not exist on "be736cb24856b0b487096681e45995417cc9d8fd"
loganalysis.py 1.06 KB
Newer Older
1
2
3
4
5
import sys
import re
import requests
import json

6
# prelines and postlines represent the number of lines of context to include in the output around the error
7
8
9
10
11
12
13
14
15
16
17
18
prelines = 10
postlines = 10

def find_errors_in_log_file():
  if len(sys.argv) < 2:
    print("Usage: python loganalysis.py <filename>")
    return

  log_file_path = sys.argv[1]
  with open(log_file_path, 'r') as log_file:
    log_lines = log_file.readlines()

19
20
21
22
23
24
error_logs = []
    for i, line in enumerate(log_lines):
        if "error" in line.lower():
            start_index = max(0, i - prelines)
            end_index = min(len(log_lines), i + postlines + 1)
            error_logs.extend(log_lines[start_index:end_index])
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

  return error_logs

error_logs = find_errors_in_log_file()

data = {
  "prompt": "\n".join(error_logs), 
  "model": "mattw/loganalyzer"
}


response = requests.post("http://localhost:11434/api/generate", json=data, stream=True)
for line in response.iter_lines():
  if line:
    json_data = json.loads(line)
    if json_data['done'] == False:
Matt Williams's avatar
Matt Williams committed
41
      print(json_data['response'], end='', flush=True)
42