Kann mir jemand beim apachlog programmieren helfen

In der Schule habe ich die aufgabe bekommen, dass ich ein Apache Logdatei programmieren soll, leider komme ich aber nicht weiter :frowning:…das programm soll diese Aufgaben können

Die Datei enthält Informationen zur IP-Adresse Datum, Uhrzeit zur Art der Meldung und zum verwendeten Protokoll

Aufgabenschritte:

Die Apache-Logdatei zeilenweise einlesen
Jede einzelne Zeile in ihre Bestandteile zerlegen und anpassen, dabei

  • Umrechenen der Uhrzeit
  • Datum und Uhrzeit in ein Date-Objekt (Hilfsklasse DateFormat) überführen
    Meldung ("…") aufteilen in:
  • Befehl
  • angeforderte Datei
  • Protokoll
    Weitere Informationen
    -das Erstellen einer Statistik
  • Informationen zur Anzahl der Zeilen
  • Anzahl der GET/POST/??? Anfragen
  • Anzahl der 200er, 300er, 400er und 500er Meldungen
    Wieviel Kilo-/Megabyte wurden ausgeliefert
    Welche Datei wurde am häufigsten angefordert
    Welche IP fordete welche Dateien an
    Das Erstellen einer Datei mit den Ergebnissen

Huu, da bin ich überfragt. Ich kenn mich ein bischen mit HTML und PHP aus. Apachlog, das Wort höre ich zum ersten Mal.

Tut mir wirklich leid.

kann mir jemand beim apachlog programmieren helfen

(, in informatik haben wir sie bekommen aber ich komme leider nicht weiter :frowning:

brauche hilfe, sollen das programm morgen schon abgeben :frowning:((((

Hallo
Dazu sind die Angaben etwas zu mager.
Habe ich richtig verstanden, dass das Programm die Log-Datei analysieren soll?
Es fehlen mir folgende Angaben:

  • Beispiel einer Logdatei
  • IN Welcher Umgebung und in welcher Programmiersprache soll das geschehen? (Ich entwickle vor allem mt Visual Studio .NET C# UND Java / Eclipse

Gruss

Hallo,

das ist ein Beispiel für eine Logdatei
217.225.116.146 - - [26/May/2003:14:05:26 +0200] „GET / HTTP/1.1“ 200 1639

Ich arbeite mit 6 Klassen,

  • ParseLog Einlesen und Auswerten
  • StatLog Statistik berechnen und speichern (Wertet Liste von LogEntrys aus)
  • LogEntry Daten einer Logzeile (ParseLog liefert eine Liste von LogEntrys)
  • ApacheLog kapselt die gesamte Funktionalität
  • WriteStatLog schreibt ein StatLog in einen Writer
    Das programm schreibeich in java/eclipse.

Das Programm schreibe ich in Java/Eclipse

Gruß

Hallo,

was meinst du mit eine „Apache Logdatei programmieren“? Dateien werden nicht programmiert. Die Logdatei wird von Apache angelegt, und du musst, wenn ich das richtig sehe, diese auslesen und aus den enthaltenen Daten die aufgelisteten Fragen beantworten. Dazu musst du natürlich über entsprechende Programmierkenntnisse verfügen.

Der erste und wichtigste Schritt bei dieser Aufgabe ist es, dir den Aufbau einer solchen Datei anzusehen und vollständig zu verstehen. Es gibt sicher Anleitungen, die beschreiben, wie die Datei syntaktisch aufgebaut ist, manchmal ist es aber auch einfacher, sich eine Beispieldatei anzuschauen und den Aufbau intuitiv zu erschließen. Ist das erledigt, dann kannst du ein Programm schreiben, das gezielt auf die einzelnen Informationen zugreift.

Das Auslesen der Daten und Beantworten der Fragen ist dann eher trivial. Wird wohl letztlich auf das Zerlegen, Konvertieren und Analysieren von Strings bzw. Teilstrings hinauslaufen. Entsprechend der vielen Aufgaben, die auch z.T. sehr ungenau formuliert sind, wird das aber trotzdem ein ziemlich umfangreiches Projekt werden, das sich nicht mal eben an einem Nachmittag umsetzen lässt.

Tja, wo liegt denn dein Problem?
Also ich werde bestimmt nicht deine Hausaufgaben für dich erledigen, zumal du nicht mal schreibst in welcher Programmiersprache ihr die Aufgabe lösen sollt (C++, Pascal, VB, Python, als Bash-Script, …)

Mach dich doch erstmal mit ein paar Teilgebieten der Aufgabe vertraut:

  • schreibe ein kleines Programm das eine textdatei Zeilenweise einliest und auf dem Bildschirm ausgibt
  • schreibe ein kleines Programm das einen beliebigen String an Trennzeichen auftrennt und die Einzelteile Ausgibt/Verarbeitet.
  • schreibe ein kleines Programm das Tastatureingaben in eine Datei schreibt

Wenn du das geschafft hast, hast du alles was du brauchst in der Hand und musst die Einzelteile nur noch kombinieren. Und anschließend hast du dann auch was gelernt - und dass ist schließlich der Sinn einer Hausaufgabe :smile:

gruß

Duke

Also, wenn ich es richtig verstehe möchtest du eine Apache Logdatei auslesen. Mit welcher Software soll dieses geschehen?

genau…mit Java/Eclipse

Ja und wo ist jetzt das Problem? Dein Ansatz sieht gut aus. Jetzt kommt nur noch die Fleissarbeit, das Code schreiben :smile: