IPSLogger - mein kleiner feiner LogHandler für IPS

Ja, die sollten selbstständig gelöscht werden - Siehe Einstellung „Purges Files after“ für Output „Log4IPS“ und „File“. Dort gibt es auch ein Script zum sofortigen löschen und einen Timer - überprüf den mal …

Kannst sie auf jeden Fall löschen.

Wenn Du die XML Files ohnehin nicht verwendest, dann kannst Du den Output Log4IPS auch komplett abdrehen…

Hallo,

muss diese „__autoload.php“ noch irgendwie eingebunden werden??? Muss die Datei evtl. „__autoload.inc.php“ heissen??? Die Datei gehört ins Scripts-Verzeichnis???

Gruß Proxima

Hi,

die Datei __autoinclude.inc.php gehört zu IP-Symcon und wird bei jedem Script Aufruf automatisch eingebunden (ist in der Datei PHP.ini so defniert).

In der Datei __autoinclude.inc.php wiederum befindet sich ein Code, der nach der Datei __autoload.php sucht und diese wenn vorhanden auch noch zusätzlich in jeden Script Aufruf einbindet (–> diese Datei wird bei einem Update von IPS nicht überschrieben).

Hab auch das Wiki korrigiert.

Hallo Leute

suche schon länger nach dem „verursacher“ von folgendem fehler

"Error in Script C:\IP-Symcon- on Line 1 ".

So binn ich auf IPSLogger gestossen, super teil, tausend danke an Andreas;)

Leider verrät IPSLoger auch nicht mehr, ich sehe nur
"Error in Script C:\IP-Symcon- on Line 1 ", kann damit nicht viel anfangen.

@Raketenschnecke hattest du das gelöst? ,du hattest das gleiche problem gehabt.

ich hab mein Problem gefunden - aber eher durch Zufall. Das sind Fehlermeldungen die durch PHP-Code in einem Event verursacht werden. Du musst Dir also deine Events anschauen in die Du Scripte reingepackt hast.

Hallo Raketenschnecke,

danke für deine Antwort, Dein tipp mit Events wahr ein Treffer!
Fehler gefunden in einem Testscript.

Andreas,

I have a question.

In the webfront list of messages new messages are added at the bottom of the list. This means I have to scroll down to the end to see the last message (or make the message list shorter :).

Is there a way to reverce the list, so that the newer messages come on top?

Thanks,
Robert

Hi Robert,

good idea, i will implement an configuration switch to support this feature in one of the future releases. In the mean time you could use the following code to display new messages on top (last block in function IPSLogger_OutHtml in file IPSLogger_Output.ips.php):


if (strpos($MsgList, '</table>') === false) {
   $MsgList = "";
} else {
   $StrPos1     = strlen($TablePrefix);
   $StrTmp      = '<tr id="'.($CurrentMsgId-$MsgCount).'"';
   if (strpos($MsgList, $StrTmp)===false) {
      $StrPos2 = strpos($MsgList, '</table>');
   } else {
      $StrPos2 = strpos($MsgList, $StrTmp);
   }
   $StrLen      = $StrPos2 - $StrPos1;
   $MsgList     = substr($MsgList, $StrPos1, $StrLen);
}
SetValue(c_ID_HtmlOutMsgList, $TablePrefix.$Out.$MsgList.'</table>');
SetValue(c_ID_HtmlOutMsgId, $CurrentMsgId);


Andreas,

It works perfect, thanks!

You use the logging functionality also in IPSWatering application. I also have multiple logging places (also one for the Homematic CCU errors). Is it an idea to have multiple html output variables (HtmlOut_MsgList0…9) and that you can tell which variable gets what message. So, if a message from IPSWatering comes then it will also be showing in IPSLogging and in the IPSWaterlog. I could use this to centralize the CCU messages in IPSLogwindow and in a separate Logging window for the CCU. Just an idea…

Thanks,
Robert

OK, this is not so easy and will maybe require some redesign, but i will think about it.
Nevertheless, the idea of centralizing all Application Logging in the IPSLogger is already one of my goals.

Hallo,

ich bin aktuell dabei mein IPS auf 2.5 umzustellen. Mit dem Logger habe ich nun ein Problem und finde irgendwie den Fehler nicht.
Nach Installation der aktuellen Version laut Wiki inklusive neuen Installer, kommt beim WEBFRONT Aufruf

include_once „IPSLogger_PhpErrorHandler.ips.php“;
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at D:\Program Files\IP-Symcon\scripts__autoload.php:1) in D:\Program Files\IP-Symcon\webfront\data\ips.webFront.Main.php on line 72

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at D:\Program Files\IP-Symcon\scripts__autoload.php:1) in D:\Program Files\IP-Symcon\webfront\data\ips.webFront.Main.php on line 72

Zuerst habe ich gedacht, es liegt an meinem vermurksten Altsystem.
Also habe ich ein neues jungfräuliches IPS installiert und damit probiert. Das gleiche Ergebnis.
Sobald ich die Datei „__autoload.php“ erstelle, tritt der Fehler auf. Wenn ich sie lösche gehts wieder. Warscheinlich sehe ich den Wald vor lauter Bäumen nicht.
Hat jemand noch einen Tip für mich?

Gruß Jogel

hmmm, den kenn ich auch noch nicht.

Kontrollier noch mal das File autoinclude.inc.php, da darf der Eintrag IPSLogger_PhpErrorHandler nicht vorhanden sein, im File autoload.php darf dieser nur einmal vorhanden sein …

in der „__autoinclude.inc.php“ ist der Eintrag nicht, und in der „__autoload.php“ auch nur einmal.
was micht stutzig macht, ist der Hinweis mir dem „Cannot send session cookie“ und „Cannot send session cache limiter“ in Verbindung mit einer orginalen IPS-PHP-Datei „ips.webFront.Main.php“ an der ja nichts geändert worden ist.
Das Problem tritt unter IFRONT, FireFox und IE auf.
Irgendwie scheint der Session-Aufruf mit der includierten Datei anders zu sein. Leider reichen meine Web und PHP Kenntisse nicht so weit.
Vielleicht ein Berechtigungsproblem? Da andere das Problem nicht haben und ich es an zwei Rechnern habe, könnte es irgendwie daran liegen (AD-Domäne?)
Aber warscheinlich habe ich nur etwas entscheidendes wiederholt falsch gemacht, nur was :confused:
Die alte Version unter 2.4 hatte funktioniert.

Gruß Jogel

… hab mal etwas gegoogled:
zB Warning: session_start(): Cannot send session cookie - headers already sent by PHP Fehlermeldungen

Es könnte sich schlicht um ein Leerzeichen handeln, das noch hinter dem PHP End Tag kommt - schau Dir das mal an…

Habe mir gedacht das es so was einfaches ist!
Wie immer, das Problem liegt meistens zwischen Tastatur und Stuhl.
Es wahr zwar kein Leerzeichen zu viel, dafür aber fehlte das <? und ?> :o
gefühlte tausendmal hab ich alles geprüft und mit dem Wiki abgeglichen und nicht bemerkt :o

Danke für den Tip:

das noch hinter dem PHP End Tag kommt

Es wird Zeit das ich endlich „PHP für Dummies“ durcharbeite, das mir sowas banales in Fleisch und Blut übergeht.

Gruß Jogel

PS: Den Link mir den PHP-Fehlermeldungen werde ich mir gleich speichern, wird mir bestimmt bei den weiteren Umstellungen helfen

ja, ging mir auch schon öfters so - manchmal übersieht man die einfachsten Dinge …

Hallo Andreas,

ich habe mal deinen WIKI-Eintrag diesbezüglich geändert, damit sich nicht noch jemand so outen muss :slight_smile:

Gruß Jogel

Sehr löblich :):):slight_smile:

Hi Brownson,

gibt es eine Möglichkeit bestimmte Fehler/Fehlerquellen zu ignorieren ?

Gruß

Martin

Eigentlich nicht, verfolge da stets den Ansatz, dass Fehler erst gar nicht entstehen…