Not logged in. · Lost password · Register
Forum: PHP4You :: Scripts Support und Fragen RSS
[gelöst] PHP-IRC-Bot log-Datei?
Ind3X #1
Member since Nov 2008 · 10 posts
Group memberships: Mitglieder
Show profile · Link to this post
Subject: [gelöst] PHP-IRC-Bot log-Datei?
Guten Tag,

erst einmal, danke für diesen Super-Skript, er ist wirklich toll.
Er funktioniert auch Super, dennoch habe ich eine Frage:

Mir ist in der config-Datei folgende Option aufgefallen:

$log_format = "d.m H:i";

Ich war der Meinung diese Option würde das Zeit-Format angeben, in dem der Bot loggt.
Doch fand ich nirgends auf meinem Webspace eine log-Datei. Ich vermute dafür einer Datei / einem Ordner Schreibrechte geben zu müssen, doch welchen? Oder ist diese Funktion gar nicht vorhanden?

mfg Ind3X
This post was edited on 2008-12-01, 19:07 by Janek.
Avatar
Janek (Administrator) #2
User title: Admin
Member since Aug 2006 · 125 posts · Location: Potsdam
Group memberships: Administratoren, Cehmes-Entwickler, Mitglieder
Show profile · Link to this post
Hi Ind3X,

freut mich, dass dir der Bot gefällt!

Zu deiner Frage: Der Bot loggt nicht automatisch in eine Datei. Die Log Ausgaben werden direkt in der ausführenden Konsole ausgegeben. Wenn du also den Bot mit "php datei.php" in einem Terminal ausführst werden die Log Dateien dort live ausgegeben. Um die Logs in eine Datei zu sichern musst du den Bot mit "php datei.php > logdatei" ausführen. Das sichert alle Log Ausgaben in die hinter dem > angegebene Datei.

Oder startest du den Bot über einen Browser? In diesem Fall müsste man wohl den Code modifizieren. Zumindest habe ich grad keine andere Idee die Ausgaben abzufangen.

mfg foxx
>> PHP4You
>> Against ICQ
Ind3X #3
Member since Nov 2008 · 10 posts
Group memberships: Mitglieder
Show profile · Link to this post
Ja, das ist das Problem, ich rufe den Bot per Browser auf, ich habe kein Zugriff auf die Konsole, nur auf den Webspace. Kann mir jemand sagen wie ich den Code ändere dass die Logs auf dem Webspace als log-Datei ausgegeben werden?

mfg Ind3X
Ind3X #4
Member since Nov 2008 · 10 posts
Group memberships: Mitglieder
Show profile · Link to this post
Ich habe im Quellcode das hier gefunden:

Datei: bot_functions/msglog.php

<?php
$bot->add_hook("PRIVMSG", "php4youBot_msglog");

function php4youBot_msglog($object, $command, $params, $prefix) {
    global $log_format;
   
    $nick = IRC::get_nick($prefix);
    $dest = substr($params, 0, strpos($params, " "));
    $msg = substr($params, strpos($params, " :") + 2);
    $file = "logfile";
    file_put_contents($file, date($log_format) . " $dest <$nick> $msg\n", FILE_APPEND);
}
?>

Meiner Auffassung nach ist das doch der Code um das alles in eine Datei zu schreiben, oder?
Doch mit Schreibrechten auf "logfile" und "msglog.php" bleibt die Datei trozdem leer.
Jemand eine Idee wie man das zum laufen bringt?

mfg Ind3X
Avatar
Janek (Administrator) #5
User title: Admin
Member since Aug 2006 · 125 posts · Location: Potsdam
Group memberships: Administratoren, Cehmes-Entwickler, Mitglieder
Show profile · Link to this post
whoops sorry du hast recht. Da wird eindeutig was in eine Datei geschrieben. Ich habe den Bot nicht persönlich geschrieben sondern Thorsten alias boxxar welcher auch im Copyright zu sehen ist deshalb wusste ich das nicht genau. Ich schau gleich mal woran das liegt
>> PHP4You
>> Against ICQ
Avatar
Janek (Administrator) #6
User title: Admin
Member since Aug 2006 · 125 posts · Location: Potsdam
Group memberships: Administratoren, Cehmes-Entwickler, Mitglieder
Show profile · Link to this post
So, hab das jetzt mal getestet und bei mir funktioniert das Logging perfekt. Du musst dafür jedoch muss mindestens einer der folgenden Fälle zutreffen:

  • Das Verzeichnis in welchem die Bot Dateien liegen muss für den Webserver User schreibbar sein - Also z.B. kurzzeitig 777 geben, den Bot kurz ausführen (Dieser erstellt dann automatisch die Logdatei) und anschließend die Rechte des Verzeichnisses wieder zurücksetzen (Die Rechte für die Logdatei stimmen dann automatisch)

  • Die Datei "logfile" manuell anlegen und Schreibrechte für den Webserver User einstellen. Der Bot sollte diese dann automatisch für Logs verwenden.

Du musst und solltest *nicht* die Rechte für die "msglog.php" Datei anpassen!

Gruß,
foxx
>> PHP4You
>> Against ICQ
Ind3X #7
Member since Nov 2008 · 10 posts
Group memberships: Mitglieder
Show profile · Link to this post
Ich werde es gleich mal versuchen, einen Moment...
Ich gebe dann hier Rückmeldung.

danke für deine Mühen,

mfg Ind3X

EDIT: Super, geht, danke vielmals =D
This post was edited on 2008-12-01, 18:16 by Ind3X.
Avatar
Janek (Administrator) #8
User title: Admin
Member since Aug 2006 · 125 posts · Location: Potsdam
Group memberships: Administratoren, Cehmes-Entwickler, Mitglieder
Show profile · Link to this post
Freut mich das es jetzt klappt. Viel Spaß mit dem Bot und zöger nicht bei Problemen hier zu fragen ;)
>> PHP4You
>> Against ICQ
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please note the verification code from the picture into the text field next to it.
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
This board is powered by the Unclassified NewsBoard software, 20090606-dev, © 2003-8 by Yves Goergen
Current time: 2012-02-05, 19:41:38 (UTC +01:00)