summaryrefslogtreecommitdiff
path: root/monitor/josef_logreader.py
blob: 62edfffffbecf3afc4ae7531b2607dfaa7409131 (plain)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/python
# -*- coding: utf-8 -*-     

import sys
import time
import datetime
import os

from monitor_conf import *

TIME_LEN = 21
NEW_STH_STR = "STH updated"
START_STR = "Starting monitor"

def get_logs():
    logs = []
    for file in os.listdir("./" + OUTPUT_DIR):
        if file.endswith(".log"):
            logs.append(file)
    return logs

def get_age_from_line(line):
    past = datetime.datetime.strptime(line[:20], '%Y-%m-%d, %H:%M:%S')
    present = datetime.datetime.now()
    return present - past

def read_loglog(filename):
    with open(OUTPUT_DIR + filename) as f:
        content = f.readlines()
    return content

def print_log_stats(l):
    print l
    log = read_loglog(l)
    rev_log = list(reversed(log))
    last = rev_log[0]

    # Stats from last STH update
    for item in rev_log:
        line = item[TIME_LEN:]
        # if line[:len(START_STR)] == START_STR:
        #     break
        if line[:len(NEW_STH_STR)] == NEW_STH_STR:
            timestamp = datetime.datetime.strptime(line[-20:-1], '%Y-%m-%d %H:%M:%S')
            age = datetime.datetime.now() - timestamp
            size = line.split("Size: ")[1].split(",")[0]
            # print line[:-1]
            print "STH age: " + str(age)[:-7]
            print "Size: " + size
            break
    # else:
    #     print "No STH update found in log."

    print ""

if __name__ == "__main__":
    logs = get_logs()
    for log in logs:
        print_log_stats(log)