Webseiten-Werkzeuge

Benutzer-Werkzeuge


Externe Nutzung durch Skripte

In komplexen print2forms-Systemen, in denen auch Skripte die Steuerung externer Prozesse wie Archivierung oder E-Mail-Versand übernehmen, kann es wünschenswert werden, ebenfalls Audit-Trails zu schreiben.

Anstatt jetzt für diesen Zweck eine eigene Datei anzulegen, kann auch in die Audit-Trails des print2forms-Servers geschrieben werden. Dies geschieht durch einen simplen Aufruf des Programms LogIt aus einem Skript heraus. Das Programm LogIt ist so geschrieben, dass es sich bei quasi gleichzeitigem Aufruf von mehreren Prozessen intern selbst synchronisiert, und so bedenkenlos für diesen Zweck eingesetzt werden kann.

Allerdings sind für die Formatierung der Meldungen ein paar Dinge zu beachten:

  • Das Programm erwartet als zweiten Parameter die eigentliche Meldung zum Eintrag in die Audit-Trails. Diese eine Meldung ist selbst aber dreigeteilt.
  • Die Zeichenkette bis zur ersten Leerstelle wird als die Quelle der Meldung interpretiert. In der Regel ist dies eine IP-Adresse und eine Port-Nummer. Je nach Anwendungsfall kann eine solche Angabe aber wenig sinnvoll sein. Es kann dann jede beliebige Kennung ohne Leerzeichen verwendet werden.
  • Die Zeichenkette zwischen dem ersten und zweiten Leerzeichen wird als Hinweis auf den Benutzer interpretiert, der die Meldung durch seine Aktion ausgelöst hat. Hier kann auch, wenn bekannt, ein interner print2forms-Pfad ('/USR/…') eingetragen werden.
  • Die Zeichenkette nach dem zweiten Leerzeichen ist die eigentliche Meldung, die ihrerseits beliebig viele Leerzeichen enthalten darf. Sie wird in der Regel später in unveränderter Form angezeigt.
  • Die Zeichenkette muss im Zeichensatz ISO-8859-1 kodiert werden.


Beispielskript

<?php
 
$Message = "10.1.17.59 /USR/P8VA0CW Dokument in Archiv eingestellt";
 
$EMessage = escapeshellarg ($Message);
 
$Command = "\"C:\\Program Files (x86)\\print2forms\\logit.exe\" " .
           "\"C:\\Users\\Public\\Documents\\SPE Systemhaus GmbH\\print2forms\\Logs\\auth.log\" ";
 
$Result = system ($Command . $EMessage, $Return);
 
if ($Return == 0)
  {
    echo $Result, PHP_EOL;
  }
?>


Hinweise

  • Es ist zwar prinzipiell möglich, im Skript in eine andere Datei mit Audit-Trails zu schreiben, als die des print2forms-Servers, aber aufgrund der Konstruktion mit dem Assistenten im print2forms-Administrations­programm und dem unleserlich Machen der Zeilen besteht keine Möglichkeit, diese andere Datei anzeigen zu lassen. Das ist gewollt.
print2forms/audit/extern.txt · Zuletzt geändert: 2018-10-17 12:20 (Externe Bearbeitung)