Add doc for logger usage
This patch adds a doc to record rules of usage of loggers in OSC. Change-Id: I27a09f9abb523393031560e2310bfdd1af0b8922 Implements: blueprint log-usage
This commit is contained in:
parent
114eeeb023
commit
0ac6b4fa46
73
doc/source/command-logs.rst
Normal file
73
doc/source/command-logs.rst
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
============
|
||||||
|
Command Logs
|
||||||
|
============
|
||||||
|
|
||||||
|
Logger usage in OpenStackClient is not exactly the same as those in other
|
||||||
|
OpenStack projects. The following basic rules should be followed.
|
||||||
|
|
||||||
|
1. OpenStackClient uses python standard logging library instead of oslo.log
|
||||||
|
so that it will depend on oslo as little as possible.
|
||||||
|
|
||||||
|
2. All logs except debug log need to be translated. The log message strings
|
||||||
|
that need to be translated should follow the rule of i18n guidelines:
|
||||||
|
http://docs.openstack.org/developer/oslo.i18n/guidelines.html
|
||||||
|
|
||||||
|
3. There are mainly two kinds of logs in OpenStackClient: command specific
|
||||||
|
log and general log. Use different logger to record them. The examples
|
||||||
|
below will show the detail.
|
||||||
|
|
||||||
|
Command specific log
|
||||||
|
====================
|
||||||
|
|
||||||
|
Command specific logs are those messages that used to record info, warning
|
||||||
|
and error generated from a specific command. OpenStackClient uses the logger
|
||||||
|
of the module the command belongs to to record the command specific logs.
|
||||||
|
|
||||||
|
Example
|
||||||
|
~~~~~~~
|
||||||
|
|
||||||
|
This example shows how to log command specific logs in OpenStackClient.
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from openstackclient.i18n import _
|
||||||
|
|
||||||
|
|
||||||
|
LOG = logging.getLogger(__name__) # Get the logger of this module
|
||||||
|
|
||||||
|
## ...
|
||||||
|
|
||||||
|
LOG.error(_("Error message"))
|
||||||
|
LOG.warning(_("Warning message"))
|
||||||
|
LOG.info(_("Info message"))
|
||||||
|
LOG.debug("Debug message") # Debug messages do not need to be translated
|
||||||
|
|
||||||
|
## ...
|
||||||
|
|
||||||
|
General log
|
||||||
|
===========
|
||||||
|
|
||||||
|
General logs are those messages that not specific to any single command. Use
|
||||||
|
the logger of ``openstackclient.shell`` to record them. In each command class,
|
||||||
|
we can simply get this logger by ``self.app.log``.
|
||||||
|
|
||||||
|
Example
|
||||||
|
~~~~~~~
|
||||||
|
|
||||||
|
This example shows how to log general logs in OpenStackClient.
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
from openstackclient.i18n import _
|
||||||
|
|
||||||
|
|
||||||
|
## ...
|
||||||
|
|
||||||
|
self.app.log.error(_("Error message"))
|
||||||
|
self.app.log.warning(_("Warning message"))
|
||||||
|
self.app.log.info(_("Info message"))
|
||||||
|
self.app.log.debug("Debug message") # Debug messages do not need to be translated
|
||||||
|
|
||||||
|
## ...
|
@ -51,6 +51,7 @@ Developer Documentation
|
|||||||
command-options
|
command-options
|
||||||
command-wrappers
|
command-wrappers
|
||||||
command-errors
|
command-errors
|
||||||
|
command-logs
|
||||||
specs/commands
|
specs/commands
|
||||||
|
|
||||||
Project Goals
|
Project Goals
|
||||||
|
Loading…
Reference in New Issue
Block a user