Auswertung einer Logdatei
Ein Programmgerüst
Logdateien sind meist sehr umfangreich. Eine gute Strategie ist, sie zeilenweise auszulesen, die Daten dabei schrittweise zu verarbeiten und die Ergebnisse in einer geeigneten Datenstruktur zu sammeln. Das folgende Programm zeigt, wie das umgesetzt werden könnte.
def strukturierterZeitstempel(zeichenkette):
...
def strukturierterLogeintrag(logeintrag):
...
def logdateiVerarbeiten(logDatei):
try:
datei = open(logDatei, 'r', encoding='iso-8859-1')
listeDaten = []
for zeile in datei:
daten = strukturierterLogeintrag(zeile)
# Verarbeitung der Daten
listeDaten = listeDaten + [daten]
datei.close()
return listeDaten
except:
return None
# Test
print(logdateiVerarbeiten('logdatei_test.txt'))
Aufgabe 1
Analysiere zunächst das Programm. Worin besteht hier die Verarbeitung der Daten? Teste das Programm. Du benötigst hierzu eine Logdatei mit geeigneten Daten. Benutze zum Testen die Datei logdatei_test.txt. Speichere sie im selben Verzeichnis wie das Auswertungsprogramm ab.
Aufgabe 2
Entwickle eine Funktion, die aus den Logdateieinträgen eine Liste mit den hier vorkommenden IP-Adressen zu erzeugen. Ändere hierzu das oben gezeigte Auswertungsprogramm passend ab.