Viewing Logs
------------

.. index:: log;log view
.. index:: log;log follow

Once a file name is known, the particular log can be viewed with **log view <logfile>**.
For example: **log view process/mongodb.router.log**. 

When the log file is viewed, it can be searched for a 
particular regular expression using the forward slash **/**,
as when using the **less** command.

A log file can also be watched or followed with **log follow <logfile>**
The Unix command equivalent is: **tail –f**, so quit with **Ctrl-C**.

Log entries in the ``voss-deviceapi/`` directory have key-value pairs.
The keys are as follows:

* ``hostname`` - the hostname of the server
* ``level`` - debug level
* ``message`` - the actual log message
* ``name`` - module where log occurred
* ``parent process id`` - Linux process parent id
* ``process id`` - Linux process id
* ``request uuid`` - identifier to group all logs generated in a request.
* ``user`` - user that generated the log
* ``user hierarchy`` - user that generated the log's hierarchy.
* ``txn_id`` - in logs that generate transactions (e.g. not in ``request.log``) - the transaction uuid
* ``txn_seq_id`` - in logs that generate transactions (e.g. not in ``request.log``) - transaction ID as seen in the Admin Portal
* ``toplevel_txn_seq_id`` - in logs that generate transactions (e.g. not in ``request.log``) - toplevel transaction ID

Note that the system will attempt to auto-complete the prefix if it uniquely identifies a file, 
for example: 

**log view process/nginx**


.. |VOSS Automate| replace:: VOSS Automate
.. |Unified CM| replace:: Unified CM
