# Logging and Error Monitoring
The 4ALLPORTAL comes with several in app logging tools to help you to monitor and analyse background processes. You find them in the administration area in our snap-in group Protocol overview
.
In case you need to get in contact with our support team, these snap-ins provide you with the necessary information for error fixing.
The following describes the default configuration of the snap-ins. For customizing, take a look here.
# Application Logs
For our error logging go to Administration area/Protocol overview/Application logs
.
This snap-in lists all errors and warnings that occurred during startup and runtime of the CoreEngine (backend and frontend). Administrators can also filter by configuration errors.
Each log record gives you the following information:
- creation date of a warning or error
- type
- CE status
- instance
- classpath
- log message
- thread (only detail view)
- stack trace (only detail view)
The filter helps you to search the records for specific error types or entries (fulltext search in fields CE status, instance, classpath, log message and stack trace). The total count is displayed on top of the list.
Log message and stack trace provide you with detailed information about the occurred error or warning.
# Resetting
- manually: You can delete selected or all log records manually via the toolbox.
- automatically: Once there are more than 100.000 log records in the database, a housekeeping process will permanently delete the oldest records.
# Mails
For a detailed email monitoring go to Administration area/Protocol overview/Mails
.
This snap-in provides an overview of all emails sent from the system and all system users (successfully as well as unsuccessfully):
- eTicket and download packages
- user notifications (invitations to collections or workflows)
- admin notifications (welcome or password emails)
- notifications about tasks or collections
Each log record gives you the following information:
- creation date
- subject
- sender email
- sender ID (only detail view)
- recipient email
- status
- initial
- in process
- in delivery
- successfully sent
- error
- email body / content (only detail view)
- error message (only detail view)
The filter helps you to search the records for specific entries (fulltext search in fields subject, sender, recipient, email body, error message).
Please note: In case of errors, take a look at your mail server settings (General system configurations/System settings/General settings
or in your container configuration, e.g., the docker-compose
file) and check for possible misadjustments.
# Missing Translations (Beta version)
For information about missing label translations go to Administration area/Protocol overview/Missing translations
.
This snap-in lists all label keys without a translation: As soon as any user loads a view in the user interface and a label without a key is generated by the Core Engine (e.g. from buttons, tooltips or value options), it is logged here with its full key, request language, and request date.
You can clear this list and again load a view from the user interface to check whether there are still missing translations.
To filter your list (e.g. to hide all meanwhile translated labels), tick an entry and use the Is ignored
action from your toolbox or filter area.
# Translating Label Keys
The label key itself, the field "language", and the label's syntax tell you where to find an untranslated key in your system:
Example: L-LOGEVENTS-ADMIN-SEARCH
- L is for Label
- LOGEVENTS is the module you're looking for
- ADMIN tells you it's in the admin area
- SEARCH tells you the exact place of usage
Translate a label key in admin snap-in General system configurations/System settings/Translation studio
or via the right-click menu.
For more information about labels and their translation take a look at our label documentation.
# Request Management
To get an overview of all background processes executed by the Request Management, go to our request snap-in Administration area/Protocol overview/Request management
. This snap-in saves you searching your database for requested processes and potential errors.
The Request Management executes different processes and thus logs the following object types (in brackets):
- uploads (wip)
- downloads (wip)
- mass indexing (wip)
- eTickets (wip)
- download packages (wip)
- report creation (wip)
- version creation (Create version / Restore version)
- pdf creation (Generate file)
- emails (Send mail)
Each log record gives you the following information:
- process
- creator
- changed on
- status
- initial ("in row" for processing)
- in process
- finished with errors
- completed
- error
- user abort
- error in request (check mark means "error")
- owner (only detail view)
- ID for this object (only detail view)
- metadata (only detail view)
- error message (only detail view)
You may filter all processes, e.g. by status, object type or error (using the boolean switch).
Using the action "Bump again" in the toolbox, you have the option to execute any process from this log list again.
# Slow Query
To get an overview of all SQL queries that took longer than a certain threshold, go to our slow log snap-in Administration area/Protocol overview/Slow query
.
With this tool, administrators and consultants are enabled to identify performance problems and thus get hints to where to create indices.
Each frontend access to the database that took too long (default = 2 seconds), is captured in this log, e.g. logging-in process, performing searches, or using conditional operation, with same statements grouped together.
Each record gives you the following information:
- slowest call (differs only if more than one call per group)
- fastest call (differs only if more than one call per group)
- number of slow calls
- first call
- last call (differs only if more than one call per group)
- query
- slowest calls to this query (only detail view)
- triggering process (only detail view)
Double-click an entry for more information and to open singles calls in a group.
Please note: If you delete a query group via the toolbox action, all single entries will be deleted, too.
# Slow Query Groups
Queries which are identical in their scheme will be grouped together, without considering the actual filled values. E.g. the following searches will be grouped together:
- find all assets from type=image AND size>2MB AND status=approved
- find all assets from type=video AND size>10MB AND status=locked
All information on single calls of a group can be found in the subpanel "Slowest calls to this query". Tick an entry to activate the "three dots"-button beneath the checkboxes. You may now view or delete an entry or access the execution plan.
# Show Execution Plan
In the detail view, the subpanel "Slowest calls to this query" gives you further information on each single call. Choose "More information about this query" to execute SQL EXPLAIN
/ SET SHOWPLAN_ALL ON
. This works for all databases supported by 4ALLPORTAL and that support the SQL EXPLAIN (MySQl, MariaDB) or SET SHOWPLAN_ALL ON (SQL Server) command. The result opens in a pop-up.
In this pop-up, you can access the execution plan of the database for the chosen call. Please note that the output in the tables varies depending on your database management system.
Choose "Copy to clipboard" e.g. to be able to pass on this information to our support. We recommend pasting the contents to a spreadsheet in order to get a good result.
- For more information about
SQL EXPLAIN
, take a look at the MySQL documentation here (opens new window). - For more information about
SET SHOWPLAN_ALL ON
, take a look at the Microsoft documentation here (opens new window).
# Configuring Slow Query
For (de-)activating this logging tool, defining the threshold and logging exclusions, use the following options:
- Slow query log: The default is true (= activated).
- Threshold: define the time from which a query is logged in milliseconds. The default (2,000) may be changed to any duration with a minimum of 250 milliseconds.
- Exclusions: Define exclusions from logging by adding regular expressions here.
Please note: This log does not list errors or warnings, only successfully but slow queries. For errors or warnings, visit the Application logs.
# Customizing Logging Snap-ins
An entry's displayed information is customizable. You may display all available fields from a module.
All admin snap-ins can be customized in order to display other or further information or to individualize search and filter options. For this, customize your search renderer default.4aprenderer (modules/{module_name}/object_renderer/search/admin).
For more details, take a look at our Object renderer documentation.
# Grafana and Nagios
We plan to provide you with connectors for Grafana and Nagios soon. Stay tuned!