Logging in Vertec
Produktlinie
Standard
|Expert
Betriebsart
CLOUD ABO
|ON-PREMISES
Module
Leistung & CRM
Budget & Teilprojekt
Fremdkosten
Ressourcenplanung
Business Intelligence
Das Vertec Logging protokolliert Informationen und Fehlermeldungen aller Vorgänge in und um Vertec (Vertec Apps, Vertec Addins, und Cloud Server). Jede Log Information ist einem Level zugeordnet.
Alle Informationen ab Level 20 werden standardmässig protokolliert. Log-Einträge mit dem Level 10 (Debug) werden nur geschrieben, wenn sie explizit eingeschaltet werden. Dafür gibt es sogenannte DebugCategories, welche in der Log-Section im Vertec.ini-File gesetzt werden.
Vertec legt dafür diverse Logfiles an, in welchen die verschiedenen Vorgänge aufgelistet werden. Es sind folgende Logfiles verfügbar:
Ist in der Log-Section im Vertec.ini-File kein LogFileFolder angegeben, werden diese Logfiles pro Client unter Benutzer\AppData\Roaming\Vertec angelegt. Ein einfacher Weg, diesen Ordner direkt aufzurufen, ist über den Befehl %appdata%
.
%appdata%
direkt in die Adressleiste des Windows Explorers ein, oder%appdata%
einDamit öffnet sich direkt der Ordner Anwendungsdaten des angemeldeten Benutzers. Die Logfiles werden in einem Unterordner abgelegt, welcher den Namen des Ordners trägt, in welchem das entsprechende Programm liegt. Wenn also die Programme im Ordner C:\Programme\Vertec liegen, so werden die Logfiles in %appdata%\Vertec zu finden sein.
Logfile | Logging | Wird bei Programmstart überschrieben |
---|---|---|
Vertec.Desktop.log | Vorgänge in der Desktop App sowie der LDAP Authentisierung | Nein |
Vertec.Cloud.log | (Lokale) Vorgänge in der Cloud App | Nein |
VertecExceptions.log | Exceptions mit Stacktrace (wie bei detaillierten Fehlermeldungen) | Nein |
WordAddin.log | Vorgänge im Word Addin | Ja |
ExcelAddin.log | Vorgänge im Excel Addin | Ja |
OutlookAddin.log | Vorgänge im Outlook Addin | Ja |
VertecShell.log | Vorgänge im Explorer Addin | Ja |
VertecOutlook.log |
Vorgänge in der Outlook App Speicherpfad: |
Ja |
Sie können in der Log-Section im Vertec.ini-File einen eigenen LogFileName angeben. Vorgänge der Desktop App und der Cloud App werden dann in dieses File geloggt.
Dieses wird beim Programmstart nicht überschrieben, sondern alle Log-Informationen hinten angefügt.
Die maximale Grösse von Log-Dateien ist auf 1 MB beschränkt. Ältere Daten werden in Backup-Dateien 1-9 geführt (zum Beispiel: Vertec.Desktop.1.Log). Dieser Vorgang geschieht automatisch.
Ist in der Log-Section im Vertec.ini-File kein LogFileFolder angegeben, befinden sich diese Logfiles im Ordner C:\ProgramData\. Analog zum Ordner %appdata%
(siehe oben) können Sie diesen Ordner direkt über %programdata%
aufrufen.
Ist die Option Restrict Session Process in der [CloudServer] Section im Vertec.ini-File eingeschaltet, befindet sich das Logfile Vertec.Session.log
im Ordner C:\WINDOWS\system32\config\systemprofile\AppData\LocalLow.
Logfile | Logging | Wird bei Programmstart überschrieben |
---|---|---|
Vertec.CloudServer.log | Vorgänge des Vertec CloudServer sowie der LDAP Authentisierung | Nein |
Vertec.Session.log | Vorgänge in den Sessions der Cloud Clients sowie der geplanten Aufgaben ab Version 6.6.0.7 | Nein |
Vertec.TaskRunner.log | Vorgänge der geplanten Aufgaben vor Version 6.6.0.7 | Nein |
Alle oben genannten Log-Einträge können zusätzlich systemweit in die Tabelle LOGDATA in der Datenbank geschrieben werden. Der Vorteil des SQL Loggings gegenüber den Logfiles ist, dass die Log-Outputs aller Clients zentral in der Datenbank gesammelt sind.
Dieser Vorgang sollte nur temporär eingesetzt und danach wieder abgeschaltet werden, da sich durch das endlose Befüllen von Log-Einträgen mit der Zeit Performance Probleme ergeben können.
Im Abschnitt [Log] des Vertec.ini Files kann mit
SqlLogTable=True
das Logging in eine Tabelle namens LOGDATA aktiviert werden. Die Tabelle wird automatisch in der DB erstellt und enthält alle Log-Ausgaben, die auch in ein Logfile geschrieben würden.
Die Log-Tabelle LOGDATA enthält folgende Spalten:
LOGTIME | Datum und Zeit des Log-Eintrags |
LOGCATEGORY | Log-Kategorie (interne Vertec Kennung der Log-Quelle) |
LOGLEVEL | Log-Level. Debug, Info, Warning, Error oder Fatal. |
LOGMESSAGE | der Text des Log-Eintrages |
COMPUTER | der Rechner, von dem aus dieser Log-Eintrag gemacht wurde |
LOGIN | der aktuelle Vertec User zum Zeitpunkt des Log-Eintrags |
Die LOGDATA Tabelle wird bei einem Update gelöscht.
Die python Methode log
übergibt die Informationen direkt an das Vertec Logging System. Diese werden gleich verarbeitet wie oben, also in das entsprechende Logfile und/oder als Einträge in die Datenbank geschrieben.
log(category: string, level: int, msg: string) | Log Message in Vertec Logging System.
|
Registriert als Eventscript auf Löschen.
# coding: windows-1252 # #---Bezeichnung: EventLog: # Klassen: N # ObjectScript: N # ContainerScript: N # EventType: Kein # EventClass: To specify # EventMembers: To specify # ExtendedRights: N import vtcapp def main(): #aktuell angemeldeter Benutzer vertecUserName = vtcapp.evalocl("Timsession.allInstances->first.login.asstring") #spezifiziere Kategorie logCategory = "ExampleCategory" #spezifiziere Level logLevel = 20 #setze die Message zusammen logObjectType = argobject.eval("self->oclType.asstring") logObjectId = argobject.eval("boldid") vtcapp.log(logCategory,logLevel,"'%s' mit der ID '%i' gelöscht durch '%s'" %(logObjectType,logObjectId,vertecUserName)) main()
Die Einträge im Script haben das Level 20, deshalb erscheinen sie automatisch im Logfile.
Werden die Einträge dem Level 10 zugeordnet, muss die Log-Section im Vertec.ini-File um die im Script spezifizierte Debug Kategorie vertec.ExampleCategory
ergänzt werden, damit die Einträge gelistet werden.
Sobald eine OpenObserve Server URL sowie ein Benutzername konfiguriert sind (siehe unten), schickt Vertec LogMessages an OpenObserve .
Folgende Variablen müssen in der Log-Section im Vertec.ini-File gesetzt werden:
[Log] OpenObserveUrl=<URL> OpenObserveUsername=<USERNAME> OpenObservePassword=<PASSWORD>
Als OpenObserveUrl muss die URL des _multi-Endpunkts angegeben werden. Nach dem Setzen dieser Werte muss der Vertec Cloud Server neu gestartet werden.
Folgende Werte werden an OpenObserve gesendet:
ERROR
)Vertec.Session.BaseSessionContext
)Handling message with low priority
)Vertec.Session
)Der Log Output kann aus den Vertec Prozessen (Vertec.Desktop, Vertec.CloudServer, Vertec.Session) an den cloudbasierten Logger Dienst Loggly gesendet werden.
Dafür müssen folgende Werte im Vertec.ini File im Abschnitt [Log] gesetzt werden:
Nach dem Setzen dieser Werte muss der Vertec Cloud Server neu gestartet werden.
Folgende Werte werden an Loggly gesendet:
ERROR
)Vertec.Session.BaseSessionContext
)Vertec.Session
)Der Kundenname aus den Lizenzinformationen wird als Tag mitgeschickt, sofern er zum Zeitpunkt des Logeintrags verfügbar ist (sehr früh im Aufstartprozess sind diese Informationen noch nicht vorhanden).