Dass man seine Ausgabe mit IPS_LogMessage aufbereiten kann, ist klar.
aber wenn du mit echo oder print_r Output erzeugst, dann können sich Scripte überschneiden und deine Meldungen sind „durcheinander“.
Das sehe ich eben gerade anders.
Meine Test haben ergeben, dass alle Ausgaben per echo und print_r(), die ein Script macht, von IPS gesammelt und dann nach Beendigung komplett und an einem Stück ins Log geschrieben werden. --> KEINE Überschneidungen
Mit IPS_LogMessage() geschriebene Logs werden „zeitgerecht“ ins Log geschrieben und liegen daher potenziell verstreut (siehe Beispiele am Ende dieses Posts).
Genau deshalb will ich ja auch mit diesem Mittel ( print_r() ) arbeiten, um für einen Scriptablauf ein mehrzeiliges Summary zu schreiben, während ich mit IPS_LogMessage nur noch bestimmt Einzelmeldungen absetze, wenn es im Gesamtkontext auf die Zeit ankommt denn bei diesen (!) Einträgen kann es im Log durcheinander gehen.
So, jetzt zurück zu meiner Frage:
Gibt es Hinweise / Tipps, was man NICHT in die Ausgabe per echo oder print_r() in das Logfile schreiben sollte?
Gibt es Hinweise / Tipps, wie man diese Ausgabenam besten strukturiert?
Nachfolgend noch die Scripte. Im Script 0 habe ich das sleep() vor dem Aufruf des zweiten Scripts übrigens gemacht, weil sonst mal das erste, mal das zweite zuerst gestartet wurde (laut Log).
Zum Testen:
Drei Miniscripte. Das Erste (#0) ruft die beiden anderen auf:
Script #0
echo "*****
**** run Two Scripts **
";
IPS_LogMessage( "S0" , "s0~~~~~#1");
$id1 = 56443; // id1
$id2 = 46629; // id2
IPS_LogMessage( "S0" , "s0~ call s1");
IPS_RunScript( $id1 );
IPS_LogMessage( "S0" , "s0~ call s2");
IPS_RunScript( $id2 );
echo "*****
**** END Two Scripts **
";
IPS_LogMessage( "S0" , "s0~~~~~#2");
return;
Script #1
echo "
**** START: S1 *********
";
IPS_LogMessage( "S1" , "s1~~~~~#1");
echo "DIESES IST S1 L1 ***************
";
ips_Sleep(5000);
IPS_LogMessage( "S1" , "s1~~~~~#2");
echo "DIESES IST S1 L2 ***************
";
return;
Script #2
echo "
**** START: S2 *********
";
IPS_LogMessage( "S2" , "s2~~~~~#1");
ips_Sleep(500);
echo "DIESES IST S2 L1 ***************
";
echo "DIESES IST S2 L2 ***************
";
ips_Sleep(5100);
echo "DIESES IST S2 L3 ***************
";
IPS_LogMessage( "S2" , "s2~~~~~#2");
return;
LOG:
29.09.2012 17:01:57.691 | 26499 | DEBUG | ExecuteThreadID #3 | Skriptausführung: tests/t0.php ~ Absender: Execute
29.09.2012 17:01:57.691 | 0 | CUSTOM | S0 | s0~~~~~#1
29.09.2012 17:01:57.691 | 0 | CUSTOM | S0 | s0~ call s1
29.09.2012 17:01:57.691 | 56443 | DEBUG | ExecuteThreadID #4 | Skriptausführung: tests/t1.php ~ Absender: RunScript
29.09.2012 17:01:57.692 | 0 | CUSTOM | S1 | s1~~~~~#1
29.09.2012 17:01:57.741 | 0 | CUSTOM | S0 | s0~ call s2
29.09.2012 17:01:57.741 | 46629 | DEBUG | ExecuteThreadID #15 | Skriptausführung: tests/t2.php ~ Absender: RunScript
29.09.2012 17:01:57.741 | 0 | CUSTOM | S0 | s0~~~~~#2
29.09.2012 17:01:57.741 | 26499 | DEBUG | ExecuteThreadID #3 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 50 ms
29.09.2012 17:01:57.742 | 0 | CUSTOM | S2 | s2~~~~~#1
29.09.2012 17:02:02.692 | 0 | CUSTOM | S1 | s1~~~~~#2
29.09.2012 17:02:02.692 | 56443 | MESSAGE | ExecuteThreadID #4 | [00 ###### TEST & DEVELOP ongoing 1] =
**** START: S1 *********
DIESES IST S1 L1 ***************
DIESES IST S1 L2 ***************
29.09.2012 17:02:02.692 | 56443 | DEBUG | ExecuteThreadID #4 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 5001 ms
29.09.2012 17:02:03.342 | 0 | CUSTOM | S2 | s2~~~~~#2
29.09.2012 17:02:03.342 | 46629 | MESSAGE | ExecuteThreadID #15 | [00 ###### TEST & DEVELOP ongoing 2] =
**** START: S2 *********
DIESES IST S2 L1 ***************
DIESES IST S2 L2 ***************
DIESES IST S2 L3 ***************
29.09.2012 17:02:03.342 | 46629 | DEBUG | ExecuteThreadID #15 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 5601 ms