Change the Log Level

You have the option to change the log level either while the cluster is offline or during runtime. Each log level is assigned to a specific Scylla class. To display the log classes (output changes with each version), run the following:

scylla --help-loggers

How to Change the Log Level without Downtime

Scylla presents the user with a variety of loggers that control the amount and detail of information printed to the system logs. This article contains information about how to query and change the log level of each individual logging system.

To obtain the status of a particular logger:

curl -X GET<subsystem_name>

For example:

curl -X GET

Example output


To change the status of a particular logger:

curl -X POST

Valid log levels are: trace, debug, info, warn, error.

Alternatively you can use Nodetool commands. Refer to setlogginglevel to set the logging level threashold for Scylla classes.

How to Change Log Level Offline

In order to debug issues which occur during Scylla start the procedure above will not be helpful. This procedure can be used to assess Scylla Start issues or it can be used when the cluster is down. Note that any changes made here will only take effect after Scylla starts.

Scylla has command line options you can invoke to set log level. Once set the change is implemented during Scylla start. Thus users can append new log level options by editing the SCYLLA_ARGS parameter in /etc/sysconfig/scylla-server.

Scylla Options

Scylla Options


--default-log-level arg (=info)

Default log level for log messages. Valid values are trace, debug, info, warn, error.

--logger-log-level arg

Map of logger name to log level. The format is NAME0=LEVEL0[:NAME1=LEVEL1:...]. Valid logger names can be queried with --help-logging. Valid values for log levels are trace, debug, info, warn, error. This option can be specified multiple times.


Log levels are assinged to a specific class for a specific log level in the following format:






To enable the debug log level for the sstable class and enable trace debug level for the cql_server class.

--logger-log-level sstable=debug:cql_server=trace

sudo cat /etc/sysconfig/scylla-server|grep ^SCYLLA_ARGS=

SCYLLA_ARGS="--log-to-syslog 1 --log-to-stdout 0 --default-log-level info --network-stack posix  --logger-log-level sstable=debug:cql_server=trace"

ps aux|grep '/usr/bin/scylla' |grep -v grep

scylla   32645  5.1  1.7 17180101468 67484 ?   Ssl  09:03   0:03 /usr/bin/scylla --log-to-syslog 1 --log-to-stdout 0 --default-log-level info --network-stack posix
         --logger-log-level sstable=debug:cql_server=trace --num-io-queues=2 --max-io-requests=8

curl -X GET


curl -X GET


To enable the debug log level for all clsses

--default-log-level debug