Logging
=======

Logging with the systemd journal (CentOS, Amazon AMI, Ubuntu, Debian)
---------------------------------------------------------------------
On distributions with systemd, ScyllaDB logs are written to the `systemd journal <http://www.freedesktop.org/software/systemd/man/systemd-journald.service.html>`_. You can retrieve log entries with the `journalctl <http://www.freedesktop.org/software/systemd/man/journalctl.html>`_ command.

Listed below are a few useful examples.

* get logs generated by the "scylla" user:

  .. code-block:: shell

     journalctl _UID=`id -u scylla`

* get logs generated by the "scylla" command:

  .. code-block:: shell

     journalctl _COMM=scylla

* filter only ScyllaDB logs by priority:

  .. code-block:: shell

     journalctl _COMM=scylla -p err..emerg

  .. code-block:: shell

     journalctl _COMM=scylla -p warning

* filter only ScyllaDB logs by date:

  .. code-block:: shell

     journalctl _COMM=scylla --since="2013-3-16 23:59:59"

  .. code-block:: shell

     journalctl _COMM=scylla --since "2015-01-10" --until "2015-01-11 03:00"`

  .. code-block:: shell

     journalctl _COMM=scylla --since yesterday

* filter only ScyllaDB logs since last server boot:

  .. code-block:: shell

     journalctl _COMM=scylla -b

Logging on Ubuntu 14.04
-----------------------
On Ubuntu 14.04, ScyllaDB writes its initial boot message into :code:`/var/log/upstart/scylla-server.log`.

After ScyllaDB has started, logs are stored in :code:`/var/log/syslog`. ScyllaDB logs can be filter by creating a :code:`rsyslog` configuration file with the following rule (for example, in :code:`/etc/rsyslog.d/10-scylla.conf`)

.. code-block:: shell

   :syslogtag, startswith, "scylla" /var/log/scylla/scylla.log 
   & ~

And then creating the log file with the correct permissions and restarting the service:

.. code-block:: shell

   install -o syslog -g adm -m 0640 /dev/null /var/log/scylla/scylla.log
   service rsyslog restart

This will send ScyllaDB only logs to :code:`/var/log/scylla/scylla.log`

Logging on Docker
-----------------
Starting from ScyllaDB 1.3, `ScyllaDB Docker <https://hub.docker.com/r/scylladb/scylla/>`_, you should use :code:`docker logs` command to access ScyllaDB server logs.


.. include:: /rst_include/advance-index.rst

