The log messages produced by Qlik Sense provide important information about the general well-being of the deployment.
The logging is based on the log4net component in Apache Logging Services. This means that Qlik Sense uses a standardized logging framework and conforms to standard logging procedures.
Updated logging framework
An updated logging framework was introduced in Qlik Sense version 2.0. Unless otherwise stated, the documentation describes the updated logging framework.
Legacy logging framework
The legacy logging framework is still available in Qlik Sense, but the logs are as of Qlik Sense version 2.0 referred to as trace logs. The log files remain the same, in the old logging format, but they are stored in a new location.
See: Trace logs
Centralized logging framework
As of the September 2017 release of Qlik Sense, centralized logging gives you the ability to log directly into a PostgreSQL database. With all logs in one place it will be easier for you find the relevant logs. If you install Qlik Sense with centralized logging, which is included in a default installation, log entries are persisted in two locations: the existing log files and the centralized logging database.
Reading and analyzing log files in Qlik Sense
The log files can be read and analyzed using Qlik Sense, which includes the following pre-defined, log-related data connections after installation:
- ServerLogFolder: Links to the active log files.
- ArchivedLogsFolder: Links to the archived log files.
The data connections can be edited in the Qlik Management Console (QMC).
In addition, users with root, security, content, or deployment administrator rights can use the Qlik Sense log data in apps by selecting one of the data connections listed above in the data load editor.
With the introduction of shared persistence, all nodes have direct access to a common database and file system. The Qlik Sense services (proxy, scheduler, repository, and engine) transfer log messages to the Qlik Logging Service. The Qlik Logging Service centralizes the logging by collecting all the messages and inserting them into the PostgreSQL database.
Centralized logging uses the log4net library to write log information to the database. The Qlik Sense Repository, Proxy, and Scheduler services use the RemotingAppender from log4net to transfer log messages to a remote logging sink that is read by the Qlik Logging Service. The Engine loggers use a pipe connection to the Repository service, which, in turn, persists the data to the Qlik Logging Service. All services use TCP localhost port 7070 to establish communication. The Qlik Logging Service collects all messages and inserts them into the PostgreSQL database named QLogs using a custom AdoNetAppender. The configuration for the Qlik Logging Service is stored in an XML file named QlikCentralizedLogging.config. As part of the centralized logging database feature, the Monitoring Apps include an ODBC (PostgreSQL) data connection. By default, this data connection points to the QLogs database on localhost port 4432. This data connection is not used when only file logging is enabled.