Configuring the Logging System

Virtual DataPort and its Administration Tool use the library Apache Log4j 2 to log its activity.

They store their log files in these directories:

  • Virtual DataPort: <DENODO_HOME>/logs/vdp/.

  • Administration Tool: <DENODO_HOME>/logs/vdp-admin/. This is in the computer of the user that runs the administration tool, not on the server.

The following files control the configuration of the logging system of Virtual DataPort:

  • Virtual DataPort: <DENODO_HOME>/conf/vdp/log4j2.xml.

  • Administration Tool: <DENODO_HOME>/conf/vdp-admin/log4j2.xml. This is in the computer of the user that runs the administration tool, not on the server.

To apply the changes made on these files, restart Virtual DataPort or the Administration Tool respectively.

You can also configure these components to store the logs on Amazon AWS S3. The Knowledge Base article How to store Denodo logs in Amazon S3 explains how to do this.

To change the level (i.e. “ERROR”, “WARN”, “INFO”, “DEBUG” or “TRACE”) of a log category, you have these options:

  1. Modify the configuration file <DENODO_HOME>/conf/vdp/log4j2.xml and restart Virtual DataPort to apply the changes.

  2. Invoke the stored procedure LogController.

  3. From the monitoring interface of Denodo (JMX), invoke the operation setLogLevel of the LogManagementInfo MBean.

With option #1, you need to restart Virtual DataPort for the changes to take effect but they are permanent. With options #2 and #3, the changes are applied immediately but lost when restarting Virtual DataPort.

Important

Do not set the log level to “TRACE” or “DEBUG” unless instructed by the Support Team of Denodo.

Reasons to avoid setting the log level to “TRACE” or “DEBUG”:

  1. The logging system may log sensitive information like the data retrieved from the data sources. For example, if you set the log category “com.denodo” or “com.denodo.vdb.catalog.type” to “TRACE”, the logging system will log the results of the queries.

  2. It makes troubleshooting more difficult because the log files may be filled up with messages irrelevant to the problem at hand. For example, if you set “com.denodo” or “com.denodo.vdb.interpreter” to “TRACE”, the logging system will log a lot information about the process of parsing each query received by Virtual DataPort. This is necessary if there are problems in the parsing but it will fill up the logs with unnecessary messages if the problem is different.

  3. In production servers, avoid setting the log category “com.denodo” to “DEBUG” or “TRACE” because it will slightly reduce the performance, due to the amount of messages that the logging system will have to store.