/
IV8AppsLogger

IV8AppsLogger

rc.apps.logger führt eine reguläre enaio®-Protokollierung in den bekannten EVN-Dateien durch. Damit können direkt aus dem Skriptcode heraus Flow- oder auch Fehlerprotokolleinträge geschrieben werden.

Methoden

  • flow(BSTR Text)

  • warning(BSTR Text)

  • info(BSTR Text)

  • error(BSTR Text)

  • functionEntry(BSTR Function, BSTR Parameters)

  • functionExit(BSTR Function, VARIANT ReturnValue);

  • flowEx(BSTR File, UINT Line, BSTR Function, UINT Level, BSTR Text)

  • warningEx(BSTR File, UINT Line, BSTR Function, UINT Level, BSTR Text)

  • infoEx(BSTR File, UINT Line, BSTR Function, UINT Level, BSTR Text)

  • errorEx(BSTR File, UINT Line, BSTR Function, UINT Level, BSTR Text)

  • functionEntryEx(BSTR File, UINT Line, BSTR Function, UINT Level, BSTR Parameters)

  • functionExitEx(BSTR File, UINT Line, BSTR Function, UINT Level, VARIANT ReturnValue)

Methoden mit Suffix "Ex" erlauben mehr Kontrolle.

Bei Methoden ohne Suffix "Ex" werden Defaultwerte verwendet:

  • File – Eventname, bspw. KernelBeforeJob:dms.GetObjectDetails

  • Function – subfunction

  • Line – 0

  • Level – steuert dediziert in welchem Protokollierungslevel der entsprechende Flow-Eintrag zu erscheinen hat

    • flow - 5

    • warning - 3

    • info - 3

    • error - 0

    • functionEntry - 4

    • functionExit - 4

Rückgabewert bei functionExit wird nach String konvertiert, falls möglich (bei nicht konvertierbarem Rückgabewert wird keine Exception generiert)

Code

const scriptName = "testLogger"; const functionName  = "tst";   rc.apps.logger.flow   ("flow sample"); rc.apps.logger.warning("warning sample"); rc.apps.logger.info   ("info sample"); rc.apps.logger.error  ("error sample"); rc.apps.logger.functionEntry("func1","input: 111"); rc.apps.logger.functionExit ("func1",1); rc.apps.logger.functionExit ("func1","abc"); rc.apps.logger.functionExit ("func1",false);   rc.apps.logger.flowEx         (scriptName,15,functionName,2,"flowEx sample"); rc.apps.logger.warningEx      (scriptName,16,functionName,2,"warningEx sample"); rc.apps.logger.infoEx         (scriptName,17,functionName,2,"info sample"); rc.apps.logger.functionEntryEx(scriptName,18,functionName,2,"input: 111"); rc.apps.logger.functionExitEx (scriptName,19,functionName,2,1); rc.apps.logger.functionExitEx (scriptName,20,functionName,2,"abc"); rc.apps.logger.functionExitEx (scriptName,21,functionName,2,false);   // Etwas böses, trotzdem soll der Server das Skript nicht abbrechen rc.apps.logger.functionExitEx (scriptName,21,functionName,2,[1,2,3]);   // Am Ende, damit alles davor im FlowBuffer erscheint rc.apps.logger.errorEx        (scriptName,24,functionName,0,"errorEx sample");

 

Related content