=======
Logging
=======

All informational and error messages produced by Gstore are sent directly to
the standard OS streams. Gstore doesn't have any special tools/options to setup
logging to files. Such design was chosen deliberately to not increase Gstore
complexity in those aspects where this is not clearly necessary, and also to
simplify its administration by end users.

So, informational and error messages produced by Gstore are sent to two
separate streams:

* The regular output is sent to standard output stream (``STDOUT``)
* The error messages and the warning ones are sent to standard error stream
  (``STDERR``)

The format of the messages generated by Gstore was chosen in such a way as to
preserve human readability, but at the same time to allow specialized tools to
parse message entries according to a single template.

Let's look at a few examples to demonstrate the above:

.. code-block:: bash

   # All messages are visible
   $ gstore ~/backup

   # Only informational message are visible
   $ gstore ~/backup 2>/dev/null

   # Only error messages and warnings are visible
   $ gstore ~/backup 1>/dev/null

   # Store logs separately
   $ gstore ~/backup > info.log 2> err.log

   # Store all the logs in the same file
   $ gstore ~/backup > gstore.log 2>&1

You can control the logging level using the following options:

``-v``, ``--verbose``
  Enable verbose mode. Causes Gstore to print debugging messages about its
  progress in some cases.

``-q``, ``--quiet``
  Silence any informational messages except error ones.
