« Zurück zu Produkt

Dokumentation

UC_GetLogMessageStatistics

 array UC_GetLogMessageStatistics (int $InstanzID) 

Parameterliste

InstanzID

ID zum Util Control

Rückgabewert

Ein Array mit folgenden key => value Paaren:

Index Typ Beschreibung
MessageCustomCount integer Anzahl der Meldungen vom Typ KL_CUSTOM (z.B. über IPS_LogMessage)
MessageDefaultCount integer Anzahl der Meldungen vom Typ KL_MESSAGE
MessageErrorCount integer Anzahl der Meldungen vom Typ KL_ERROR
MessageNotifyCount integer Anzahl der Meldungen vom Typ KL_NOTIFY
MessageSuccessCount integer Anzahl der Meldungen vom Typ KL_SUCCESS
MessageTimeStamp integer Laufende Nummer der zuletzt vom Util Control verarbeiteten Nachricht (beliebigen Typs). Kein Zeitstempel!
MessageWarningCount integer Anzahl der Meldungen vom Typ KL_WARNING
ResetTimeStamp integer Unix Zeitstempel, ab dem gezählt wird (Start von IP-Symcon bzw. letzter Aufruf von UC_ResetLogMessageStatistics)

Beschreibung

Die Funktion liefert, wie viele Meldungen seit ResetTimeStamp je Meldungstyp ins Log geschrieben wurden. Das Util Control empfängt dazu alle Nachrichten des Kernels und zählt die Log-Meldungen. Die Zähler lassen sich z.B. regelmäßig abfragen, um festzustellen, ob neue Fehler oder Warnungen aufgetreten sind. Die letzten Meldungen selbst liefert UC_GetLastLogMessages, zurückgesetzt werden die Zähler mit UC_ResetLogMessageStatistics.

Erfasst werden nur Meldungen, die entstehen, während IP-Symcon betriebsbereit ist (nicht während des Startens und Herunterfahrens). Debug-Meldungen (KL_DEBUG) werden nicht weitergereicht und deshalb nie erfasst, ebenso wenig Meldungen, die über den Spezialschalter "LogfileFilter" ausgefiltert werden.

Warning

MessageTimeStamp ist trotz des Namens kein Zeitstempel. Der Kernel nummeriert alle Nachrichten, die er verteilt, seit dem Start fortlaufend durch (1, 2, 3, ...). MessageTimeStamp ist die Nummer der letzten Nachricht, die das Util Control verarbeitet hat, und ändert sich mit jeder Nachricht, nicht nur mit Log-Meldungen. Warten keine Nachrichten auf ihre Verarbeitung, entspricht der Wert ungefähr MessageCounter aus UC_GetKernelStatistics. Er wird von UC_ResetLogMessageStatistics nicht zurückgesetzt.

Die ID der Util Control Instanz liefert z.B. IPS_GetInstanceListByModuleID mit der Modul-GUID {B69010EA-96D5-46DF-B885-24821B8C8DBD}. Existiert InstanzID nicht, schlägt die Funktion mit "Instance #... does not exist" fehl, gehört die Instanz zu einem anderen Modul, mit "Instance does not implement this function".

Beispiel

// ID der Util Control Instanz ermitteln
$id = IPS_GetInstanceListByModuleID('{B69010EA-96D5-46DF-B885-24821B8C8DBD}')[0];

print_r(UC_GetLogMessageStatistics($id));

/* liefert z.B.:
Array
(
    [MessageCustomCount] => 0
    [MessageDefaultCount] => 0
    [MessageErrorCount] => 2
    [MessageNotifyCount] => 0
    [MessageSuccessCount] => 1
    [MessageTimeStamp] => 184
    [MessageWarningCount] => 1
    [ResetTimeStamp] => 1700000000
)
*/
Haben Sie noch Fragen?