Change Logging Levels

By default, Tableau Services Manager (TSM) and Tableau Server log events at the Info level. You can change this if you need to gather more information (if you are working with Tableau Support, for example).

As a best practice you should not increase logging levels except when troubleshooting an issue, as instructed by Support. You should only set a logging level to debug when investigating a specific issue. Changing log levels can have these impacts:

  • Increasing the log level to debug or trace increases the amount of information being logged and can have a significant impact to performance. Reproduce the issue and then reset the logging level back to info.
  • Setting the log level to warn or error can reduce the amount of information so much that it is not useful for Tableau Support.

Logging Levels

The following logging levels are listed in order of increasing amount of information logged:

  • off
  • fatal
  • error
  • warn
  • info (the default)
  • debug
  • trace

Change Logging Levels

Set logging levels for TSM and Tableau Server processes using tsm configuration set configuration keys. The key you use depends on which component of TSM or Tableau Server you want to change the logging level for.

Dynamic log level configuration

In version 2020.2 we introduced dynamic configuration, which included dynamically configurable logging for tsm services (tsm.log.level) and control application services (tsm.controllerapp.log.level). This capability has been expanded in subsequent releases. Version 2020.3 adds backgrounder (backgrounder.log.level), cluster controller (clustercontroller.log.level), data server (dataserver.log.level), file store (filestore.log.level), data source properties (tdsservice.log.level) and VizQL server (vizqlserver.log.level). Version 2020.4 adds interactive microservice container (tomcatcontainer.log.level) and application server (vizportal.log.level). If you are only changing logging levels for one or more of these components, you can do so without restarting Tableau Server.

Configuration key Location of affected logs

(path begins with /var/opt/tableau/tableau_server/data/tabsvc/logs/)

tsm.log.level

Changes TSM logging levels for: clientfileservice, licenseservice, tabadminagent, tabadmincontroller, tabsvc

/<service>/<service>_node<n>-<instance>.log

example: /clientfileservice/clientservice_node1-0.log

tsm.controlapp.log.level

Changes TSM logging levels for: control applications

/<service>/control_<service>_node<n>-<instance>.log

examples: /clientfileservice/control_clientservice_node1-0.log

/filestore/control_filestore_node1-0.log

<process>.native_api.log.level

Valid process names are backgrounder, vizportal, vizqlserver, dataserver

Note: These are not dynamically configurable.

/vizqlserver/*.txt

backgrounder.log.level

Changes logging levels for: Backgrounder

/backgrounder/*.log

clustercontroller.log.level

Changes logging levels for: Cluster Controller

/clustercontroller/*.log

dataserver.log.level

Changes logging levels for: Data Server

/dataserver/*.log

filestore.log.level

Changes logging levels for: File Store

/filestore/*.log

gateway.log.level

Changes logging levels for: Gateway control processes

/gateway/*.log

gateway.httpd.loglevel

Note: added in version 2021.3.0

Changes logging levels for: Gateway

/gateway/*.log

tdsservice.log.level

Changes logging levels for: Data Source Properties service

/tdsservice/*.log

tomcatcontainer.log.level

Changes logging levels for microservices in: Interactive Microservice Container and Non-Interactive Microservice Container

/tomcatcontainer/*.log

vizportal.log.level

Changes logging levels for: Application Server

/vizportal/*.log

vizqlserver.log.level

Changes logging levels for: VizQL Server

/vizqlserver/*.log

For more information, see tsm configuration set Options.

If you are only changing dynamically configurable logging levels, you do not need to stop or start the server (for more information, see Dynamic log level configuration above). If you are changing other logging levels, you need to stop Tableau Server before changing the logging levels, and restart it afterwards. On a multi-node installation of Tableau Server, set logging levels from the initial node.

To change the logging level:

  1. (Optional for dynamically configurable logging levels in 2020.2.0 and later) Stop Tableau Server by opening a command prompt and typing:

    tsm stop

  2. Set the logging level to by typing tsm configuration set -k <config.key> -v <config_value>

    where <config.key> is one of the keys in the above table and <config_value> is a valid logging level.

    Examples:

    • tsm configuration set -k backgrounder.native_api.log.level -v debug                    
    • tsm configuration set -k tsm.log.level -v debug
    • tsm configuration set -k tsm.controlapp.log.level -v debug
  3. Apply pending changes by running the tsm pending-changes apply command.
  4. (Optional, only if server is stopped) Start Tableau Server by running the following command:

    tsm start

Reset Logging Levels

After you reproduce the issue and gather the information related to the issue, reset the logging levels so there is no lingering performance impact and no additional disk space used up.

Reset the logging level back to its default (info) using the appropriate command with a -d option. You need to apply pending changes after resetting the level, and if you are resetting logging levels for Tableau Server processes, you must stop the server before making the change, and start it applying the pending changes.

Examples:

  • tsm configuration set -k backgrounder.native_api.log.level -d
  • tsm configuration set -k tsm.log.level -d
Thanks for your feedback!