Logging

Logging in Vertec

Product line

Standard

|

Expert

Operating mode

CLOUD ABO

|

ON-PREMISES

Modules

Services & CRM

Budget & Phases

Purchases

Resource Planning

Business Intelligence

Created: 22.04.2013
Machine translated
Updated: 24.10.2024 | Added reference to the URL of the _multi endpoint.

Vertec Logging tracks information and error messages of all operations in and around Vertec (Vertec apps, Vertec addins, and cloud servers). Each log information is assigned to a level.

Log levels:
  • 10: Debugging
  • 20: Info
  • 30: Warning
  • 40: Error
  • 50: Fatal

All information from level 20 is tracked by default. Log entries with level 10 (debug) are only written if they are explicitly enabled. For this purpose there are so-called DebugCategories, which are set in the Log section in vertec.ini file .

Vertec creates various log files in which the different processes are listed. The following log files are available:

Logfiles of apps and addins

If no LogFileFolder is specified in the log section of the Vertec.ini file, these logfiles are created per client under User\AppData\Roaming\Vertec. An easy way to access this folder directly is to use the %appdata% command.

  • Type %appdata% directly into the address bar of Windows Explorer, or
  • Click Start > Run (or Windows+R) and type %appdata%

This opens the application data folder of the logged-in user directly. The log files are placed in a subfolder that bears the name of the folder in which the corresponding application is located. If the applications are located in the folder C:\Programs\Vertec, the log files will be located in %appdata%\Vertec.

Log file Logging Overwritten at program start
Vertec.Desktop.log Operations in the desktop app and LDAP authentication No.
Vertec.cloud.log (Local) operations in the cloud app No.
VertecExceptions.log Exceptions with stack trace (like detailed error messages) No.
WordAddin.log Tasks in the Word add-in Yes
ExcelAddin.log Tasks in the Excel add-in Yes
OutlookAddin.log Tasks in the Outlook add-in Yes
VertecShell.log Operations in the Explorer add-in Yes
VertecOutlook.log

Tasks in the Outlook App

Storage path: C:\Users\vorname.nachname\AppData\Local\Vertec Outlook App\Vertec.Outlook.log

Yes

Define your own log file

You can specify your own LogFileName in the Log section of the Vertec.ini file. Operations of the desktop app and the cloud app are then logged to this file.

This is not overwritten at the start of the program, but all log information is appended at the back.

The maximum size of log files is limited to 1 MB. Older data is kept in backup files 1-9 (for example: Vertec.Desktop.1.Log). This is done automatically.

Logfiles of services and sessions

If no LogFileFolder is specified in the log section of the Vertec.ini file, these log files are located in the folder C:\ProgramData\. Similar to the folder %appdata% (see above), you can call this folder directly from %programdata%.

If the Restrict Session Process option is enabled in the [CloudServer] section of the Vertec.ini file, the log file Vertec.Session.log is located in the C:\WINDOWS\system32\config\systemprofile\AppData\LocalLow folder.

Log file Logging Overwritten at program start
Vertec.CloudServer.log Vertec CloudServer and LDAP authentication processes No.
Vertec.Session.log Operations in Cloud Client Sessions and Scheduled Tasks from version 6.6.0.7 onwards No.
Vertec.TaskRunner.log Tasks of scheduled tasks before version 6.6.0.7 No.

Sql logging to the database

All the above-mentioned log entries can also be written system-wide to the LOGDATA table in the database. The advantage of SQL logging over log files is that the log outputs of all clients are centrally collected in the database.

This process should only be used temporarily and then turned off again, as the endless filling of log entries can cause performance problems over time.

In the [Log] section of the Vertec.ini file, you can use

SqlLogTable=True

logging into a table called LOGDATA. The table is automatically created in the DB and contains all log outputs that would also be written to a log file.

The log table LOGDATA contains the following columns:

LOGTIME

Date and time of the log entry

LOGCATEGORY

Log category (internal Vertec identifier of log source)

LOGLEVEL

Log level. Debug, Info, Warning, Error or Fatal.

LOG MESSAGE

the text of the log entry

COMPUTERS

the computer from which this log entry was made

LOGIN

the up-to-date Vertec user at the time of the log entry

The LOGDATA table is deleted during an update.

Logging via script

The python method log passes the information directly to the Vertec Logging System. It is processed in the same way as above, i.e. in the corresponding log file and/or as entries in the database.

log(category: string, level: int, msg: string)

Log Message in Vertec Logging System.

  • Levels:
    • 10: Debug Log
    • 20: Info Log
    • 30: Warning Log
    • 40: Error Log
    • 50: Fatal Log
  • category: max 50 symbols
  • msg: max 1000 symbols

Example Script

Registered as an Event Script on Delete.

# 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()

The entries in the script have level 20, so they automatically appear in the logfile.

If the entries are assigned to level 10, the log section in the Vertec.ini file must be supplemented by the debug category vertec.ExampleCategory specified in the script for the entries to be listed.

Send log output to log server

From Vertec version 6.7.0.12

Once an OpenObserve server URL and user name are configured (see below), Vertec sends LogMessages to Openobserve .

The following variables must be set in the Log section in vertec.ini file :

[Log]
OpenObserveUrl=<URL>
OpenObserveUsername=<USERNAME>
OpenObservePassword=<PASSWORD>

The OpenObserveUrl must be the URL of the _multi-endpoints . After setting these values, the Vertec cloud server must be restarted.

The following values are sent to OpenObserve:

  • _timestamp: Time of log entry in ISO-8601 format
  • hostName: hostname of the host where the process is running
  • level: Log Level of the information (e.g. ERROR)
  • licensee: company name of the licensee
  • loggerName: Name of the affected logger (e.g. Vertec.Session.BaseSessionContext)
  • Message: The actual log information (e.g. Handling message with low priority)
  • process: Name of the affected process (e.g. Vertec.Session)
  • threadname: Name or ID of the up-to-date thread

Before Vertec version 6.7.0.12

The log output can be sent from the Vertec processes (Vertec.Desktop, Vertec.CloudServer, Vertec.Session) to the cloud-based logger service Loggly.

For this purpose, the following values must be set in the Vertec.ini File in the [Log] section:

  • LogglyToken: Enter the custom Loggly token. If this value is set, the log output is sent to Loggly or to the specified LogglyUrl.
  • LogglyUrl: Specifies the desired URL for Loggly. If nothing is specified, the output will be sent to https://logs-01.loggly.com/.

After setting these values, the Vertec cloud server must be restarted.

The following values are sent to Loggly:

  • hostName: hostname of the host where the process is running
  • level: Log Level of the information (e.g. ERROR)
  • loggerName: Name of the affected logger (e.g. Vertec.Session.BaseSessionContext)
  • Message: The actual log information
  • process: Name of the affected process (e.g. Vertec.Session)
  • timestamp: time of log entry in ISO-8601 format

The customer name from the license information is sent as a tag if it is available at the time of the log entry (this information is not available very early in the startup process).