eingene log files?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfang
ausgeben
browser
code
datei
datum
ende
fehler
fehlermeldung
file
funktion
hilfe
http
index
kommentar
log
pfad
rest
server
text
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
was meinste mit logs?dann k?nnt ich dir evtl helfen du willst wissen wer mit welcher ip daraufklickt oder so oder?
-
so ungef?hr
ich w?rde gerne aufzeichenen lassen, wer mit welcher ip wann auf welcher site war und von wo gekommen is und wohin er geht
das gr??te prob finde ich is die auswertung ;)
hast du da ideen wie man es grafisch oder textisch(??) darstellen kann?
-
?hm ja screenshots sehen gut aus, aber wie installiere ich das prog?
also ich seh das es c oder c++ is, aber dort gibts keine exe sondern nur quelltext
soll ich das jetzt selbst komplimieren?
achja nochwas wie m?ssen die logs aussehen, damit das prog damit klar kommt? -
Hallo lucas9991!
Irgendwo auf der Seite befindet sich ein Link zu den Downloads, dort w?hlst du die ausf?hrbare Version f?r dein Betriebssystem aus. Die Version f?r Win32 hei?t
webalizer-2.01-10-win32-bin.zip. In dem Archiv befindet sich eine EXE-Datei und eine Anleitung. Du musst dann aber noch die Konfiguration an deine Gegebenheiten anpassen. Und nat?rlich brauchst du die Logfiles der Website, die die du analysieren willst. Das Logfile-Format nennt sich CLF, das ist das, welches der Apache serienm??ig erzeugt. Logfile-Beschreibung unter:
http://de.selfhtml.org/projekt/kontrollieren.htm#logdateien
MfG
alopex -
also
ich hab die zip nich gefunden, aber ich bin ja nich bl?d
alle dls liegen in dem verzeichnis
ftp://ftp.mrunix.net/pub/webalizer/
also einfach webalizer-2.01-10-win32-bin.zip hinterh?ngen ;)
aber jetzt hab ich nen prob
wenn ich die exe starte kommt "nur" ne dos eingabe aufforderung
dort kommt ne fehlermeldung, die denk ich ma dadurch ensteht, dass er gar nich weiss welche datei er analysieren soll
das muss ich meines erachtens nach in der sample.conf einstellen, diese is bloss so gross und hat soviele kommentare, dass mir die lust nach dem ersten absatz vergangen is weiter zu lesen ;)
k?nntest du mir vllt deine config geben?
das meiste sich ja von selbst ergibt...
und nochwas
den webalizer kann ich ja nich bei lima hochladen wegen der *.exe
also muss es auch von meinem rechner aus funtzten oder?
bloss wo muss ich jetzt den pfad zur datei einstellen, also die http:// adresse?
dort wo localhost steht?
und muss ich vor den "variablen" die ich als solche erkenne :)
die # wegmachen?
scheint als w?ren das kommentare
und das gr??te prob, wie kann ich jetzt so ne log datei schreiben lassen?
thx schonma f?r die hilfe ;) -
Hiho lucas9991!
Hehe, der Webalizer ist ein Command-Line-only-Progamm. Wenn du schon mal einen Apache oder gleich ein ganzes WAMP(P)-Paket unter Windoze eingerichtet hast, kannst du auch den Webalizer konfigurieren. Du kannst aber auch das Config-File ignorieren und nur auf der Kommandozeile spielen: mit Start->Ausf?hren->"cmd" eine neue Konsole ?ffnen, zum Webalizer-Pfad wechseln und dann
webalizer -h
eingeben. Dann gibt dir der Webalizer seine Optionsliste preis. Einzelne Logfiles anaylisierst du, indem du einfach Pfad und Dateinamen des Logfiles hinter das Webalizer-Kommando h?ngst. F?r den Anfang sollte das reichen. Der Webalizer produziert dann in seinem Programmverzeichnis mindestens zwei HTML-Dateien (eine f?r die Jahres?bersicht und die anderen f?r jeden Monat)und diverse Grafiken (die schnuckeligen Torten- und Balkendiagramme ). Wenn du nicht jedesmal das Webalizer-Programmverzeichnis damit vollgem?llt haben willst, musst du den Pfad f?r die Auswertungs-Dateien in der Konfiguration anpassen.
Zu den Logfiles:
Normalerweise erzeugt die ein Webserver automatisch. Leider haben wir hier ja keinen Zugriff darauf. Ich behelfe mir damit, dass ich eine PHP-Funktion namens update_log() (Sehr sinnig der Name, oder?) geschrieben habe, die ich am Ende jedes PHP-Skriptes aufrufe, das ich "geloggt" haben will. Ich wei? nicht, ob es in den gro?en Weiten des Webs (oder bei Eisen-Karl oder bei Google) vielleicht schon ein Standard-Skript f?r diese Aufgabe gibt. Guckst du mal. Wenn sich nichts Brauchbares findet, kann ich mein Skript ja mal ver?ffentlichen.
MfG
alopex
-
also erst ma
rofl geiles avatar :D
zweitens ne ich hab gesucht und nichts gefunden :(
w?rd mich ?ber dein script sehr freuen, denn um das zu schreiben hab ich atm keine zeit
--> arbeiten in ner schule..
aber ich glaub ich werde ma nen prog schreiben, dass das auswertet, und zwar auf php basierend *gg
denn "schnuckelige[...] Torten- und Balkendiagramme" kann man gut mit php machen ;)
danke f?r deine hilfe ;)
edit:
eins hab ich immer noch nich gerafft :(
wie kann ich jetzt aus ner log file so diagramme machen? -
also ich habe mal ein ganz simplen code gemacht... er schreibt zwar nicht in eine txt datei, sondern in eine php datei...
der code sieht folgenderma?en aus...
$time = strftime("%d.%m.%Y um %H:%M:%S"); // die aktelle zeit mit datum und uhrzeit
$log_datei = "log/log.php"; // die datei wo reingeschrieben wird
$fp = fopen($log_datei,"a"); // offnet die datei mit schreib und leserechte und geht ans ende der datei -> (a)
$text = "Der Computer mit IP ($REMOTE_ADDR) besuchte die Seite $p am $time \n";
fwrite($fp, $text); // schreibt den text in die datei ans ende...
fclose($fp); // schliest wieder die datei...
evtl hilft dir das ja weiter... is was simples und schnell geproggtes, also keine ahnung obs auch die oprimale l?sung is, bei mir jedenfalls funkt es....
das ganze m?sstest du dann in jede datei einf?gen, oder inlcuden... aber das wirst du ja wissen...
mfg -
...
das hilft mir leider nich, denn ich weiss nich genau, wie ich die log datei aufbauen muss und mit welchen befehelen ich ermitteeln kann, was gerade gefordert wird also GET oder Post etc, halt
dein script h?t ich noch selber schreiben k?nnen :p
aber die datei soll ja nachher vom webalizer ausgewertet werden... -
Hi lucas9991 und alle anderen an Logfiles Interessierten!
http://alopex.pyrokar.lima-city.de/index.php/PHP.html
Dort mal nach essentials.php suchen.
Das ist ein komplettes PHP-Skript mit mehreren Funktionen. Eine davon ist die bereits erw?hnte update_log(). Viel Spa? beim "Includen" und Testen. Wenn ich ganz viel Zeit und noch mehr gute Laune habe, schreibe ich mal eine halbwegs brauchbare Dokumentation dazu.
MfG
alopex
_______________________________
Arrrgh! Einer hat schon "downgeloadet"!
Mozilla-Browser und Tiscali als ISP.
update_log() funktioniert also. -
ach du heilige kacke
so viel quelltext.. O.o
aber herzlichen dank daf?r ;)
Also erstmal ist da gar nichts objektorientiert ( == oo ).
Und das Zeug hei?t ja Quelltext, weil die schiere Menge aus dem Bildschirm quillt, wenn man es im Texteditor anschaut!
Und au?erdem brauchst du ja nur die Funktion update_log() aufrufen. Ich habe nur den Rest drangelassen, weil update_log() einige andere Funktionen aufruft. Und man wei? ja nie, wer den Kram mal gebrauchen kann.
Schreib doch mal, wenns funktioniert. (Und wenn nicht, dann erst recht!).
MfG
alopex -
fehler ...
Warning: fputs(): supplied argument is not a valid stream resource in C:\server\htdocs\handyklau\bib\logfile.php on line 41
Warning: fclose(): supplied argument is not a valid stream resource in C:\server\htdocs\handyklau\bib\logfile.php on line 42
hab halt alles in der datei namens logfile.php abgespeichert
wenn ich dann in der index.php update_log(); aurufe gibts diese fehlermeldung
die datei die erstellt werden soll hab ich angepasst
so jetzt is der error weg...
aber kein eintrag in der log datei -
???hm, ...
So auf Anhieb kann ich jetzt keine Merkw?rdigkeiten entdecken. Ich hab das Ganze ja auch nur auf Lima-Webspace und lokal unter WinXP (WAMP) getestet. Allerdings habe ich ja auf der "Supportseite"
http://alopex.pyrokar.lima-city.de/index.php/PHP/essentials.html
auch beschrieben, wie das Skript am besten eingebunden wird, also per include_once() am Anfang des aufrufenden Skriptes. In meinem Skript gibt es keine fputs() und fclose() auf den Zeilen 41 und 42, aber die Funktionen hintereinander in zwei anderen Bereichen (innerhalb update_log() und innerhalb von warn() ).
M?glicherweise hat das Skript aber schon irgendwo eine "error.log" oder eine "eisfux-error.log" angelegt. Wenn eine solche Datei existiert, schau mal, was dort drin steht. Ansonsten musst du mal eine der reichlich vorhandenen "//"-Kommentare deaktivieren oder selbst mal ein paar print()-Anweisungen einstreuen. So wie es aussieht, konnte die Log-Datei nicht ge?ffnet werden, weil m?glicherweise der Pfad nicht stimmte.
MfG
alopex -
die fehler kamen in der funktion warn() vor ich hatte vergessen zu erw?hnen, dass ich das gro?e copyright *gg* gel?scht hab
und ich hab um es selber besser lesen zu k?nnen aus
bla(
a,
b,
c
) {
einfach bla(a,b,c) { gemacht, aber ich hab darauf geachtet das da nichts verloren geht ;)
also dann guck ich mir mal den quelltext an
trotzdem herzlichen dank
zu deiner "support" seite:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
wozu soll ich die fehler ausgeben lassen?
das sollte man nur beim debuggin benutzten ;)
require_once('essentials.php');
ob man nun include require oder reuire_once schreibt is egal :p
ob_start();
// Weiter im Hauptprogramm
update_log( ob_get_length() );
ob_end_flush();
wozu ob_start(); und ob_end_flush??
is das nich f?r sessions zu st?ndig?
bzw. wird es daf?r benutzt...
und was soll ob_get_lenght() sein O.o
ok ich weiss bei php.net gucken, aber das k?nntest du ja da hinschreiben
-
Heute mal keine Anrede
Zwischen ob_start() und ob_end_flush() (und nur dort) steht alles, was du an den Browser ausgeben willst. Mit ob_get_length() holst du dir dann die Gr??e der Daten im Ausgabepuffer von PHP. Und die Zahl kannst du wunderbar an update_log() ?bergeben, damit die Funktion wei?, welche Zahl sie an der Stelle ins Logfile schreiben soll, wo ein Webserver normalerweise die Anzahl der ?bertragenen Bytes angibt.
Wenn du Teile vom Quelltext l?schst, kann ich nat?rlich ganz schlecht nachvollziehen, wo es hakt (da ja die Zeilennummern bei mir anders sind, daher auch besser "includen" oder "requiren"). Schau mal bei http://www.php-faq.de/ nach, dort steht, dass Kommentare im Quelltext keine zus?tzliche Rechenzeit verbrauchen, also kann man sie drinlassen. Ich wollte mich auch nur absichern. Sonst kommt nachher noch jemand und mault rum, weil durch die Benutzung von "essentials.php" irgendwelche Daten gel?scht wurden.
Ich habe schon vermutet, dass der Fehler in der Funktion warn() liegt. Ich habe da einige absurde Pfad-Basteleien vorgenommen, weil man bei Lima-Webspace ja keinen Zugriff auf die PHP-Errorlogs hat. Und warn() soll diesen Mangel in einem gewissen Ma?e beheben. Aber m?glicherweise geht das auch anders zu l?sen.
Die error_reporting()-Anweisung hilft beim Entwickeln von PHP-Programmen. Ja, und irgendwo habe ich schon mal erw?hnt das "essentials.php" noch eine Bastelversion ($VER: 0.0.6) ist. Kannste ja weglassen, wenn du diese Weichei-Programmierer-Absicherung nicht brauchst. Ich habe ohne sie ganz ganz gro?e Angst , dass ich meine eigenen Fehler ?bersehen k?nnte.
So, und bei mir l?uft update_log() gerade im ersten echten Stress-Test, weil sich einige die Movie-Poster-Schrift runterladen. Vielleicht h?tte ich doch noch die Schriftschnitte genauer erkl?ren sollen ...
http://alopex.pyrokar.lima-city.de/xlink.php/216036
MfG
alopex -
Mitternachtsbugfix f?r essentials.php Version 0.0.7
So, ich habe den Bug jetzt gefixt. Wenn warn() keinen g?ltigen Pfad findet, dann wirft es seine Fehlermeldungen in eine Datei namens "eisfux-error.log". Wer den Pfad selbst festlegen will, muss in PHP irgendwo die globale Variable $_SERVER['X-EISFUX-ERRORLOG'] auf einen Pfad in der Art wie "/logs/mein_error.log" setzen.
Der Rest l?uft wie gehabt.
G???hn...
alopex -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage