Erzeugen von Logausgaben auf der diagnosis page
In diesem Video wird demonstriert, wie sich in FlexConfig RBS über die Befehle rbs_api_log_write (""); und rbs_api_log_write_printf(""); Logausgaben auf der diagnosis page (192.168.1.15/log) eines FlexDevice erzeugen lassen.
Eine Logausgabe bietet sich als Hilfsmittel an, um an den zugänglichen Stellen eines Programmcodes eine Möglichkeit zum Debuggen zu schaffen.
Ebenfalls kann die Logausgabe dazu verwendet werden, um wichtige Informationen auf die diagnosis page zu schreiben, um bspw. zur Laufzeit auf Informationen Zugriff zu haben.
Die Konfiguration der Aufrufe rbs_api_log_write (""); und rbs_api_log_write_printf (""); innerhalb der UserFunction startet bei [1:40]
Details:
Die Funktionsaufrufe rbs_api_log_write (""); und rbs_api_log_write_printf(""); sind folgendermaßen aufgebaut:
/**
* Write static message into log.
* Start message with tag using "[YourTag]" syntax
* to group messages.
*
* @since 1.1.0.0
*
* @param text Text to write into log
*
* @return void - No return value
*/
void rbs_api_log_write(char* message);
/**
'* Write formatted text into log.
* Start message with tag using "[YourTag]" syntax
* to group messages.
*
* @since 1.1.0.0
*
* @param template Format template like printf
* @param values Values for given template
*
* @return void - No return value
*/
void rbs_api_log_write_printf(char* template, ...);
Hinweis:
HTML Formatierungen können innerhalb der Funktion genutzt werden. Nutze am Beginn des Textes die eckigen Klammern „[…]“, um Deiner Ausgabe eine visuelle Kategorie zuzuweisen.
Beispiel Aufrufe:
• rbs_api_log_write("Hallo World");
• rbs_api_log_write ("[Text] Hallo World");
• u08 myvar = 1;
• rbs_api_log_write_printf("myvar value: %d", myvar);
• rbs_api_log_write ("[Debug] I <span style=\"color:white;background-color:red;font-weight:bold;\">love</span> FlexConfig RBS.");
Achtung:
Die API Funktionen sind dem UserFunction-Editor „unbekannt“, weshalb es zu den Warnungen „implicit declaration“ kommt. Diese Warnungen können ignoriert werden.
Der Aufruf der diagnosis page zur Laufzeit kann Einfluss auf das Laufzeitverhalten haben und sollte deshalb mit Bedacht eingesetzt werden. Vor allem ein sehr häufiges Aufrufen der printf Funktion hat Einfluss auf die Performance und somit auf das Laufzeitverhalten des Projekts. Es empfiehlt sich daher, die printf Ausgaben im Produktiveinsatz zu entfernen oder auf ein Minimum zu reduzieren. Über eigene UserDefines (Edit -> UserDefines) können die printf Ausgaben sehr einfach gesammelt deaktiviert werden.
Userfunction:
#ifdef MyDebug
rbs_api_log_write("write only when User Define MyDebug is activated");
#endif
Voraussetzungen:
PROJEKT DOWNLOADEN