The cinder.openstack.common.log Module

OpenStack logging handler.

This module adds to logging functionality by adding the option to specify a context object when calling the various log methods. If the context object is not specified, default formatting is used. Additionally, an instance uuid may be passed as part of the log message, which is intended to make it easier for admins to find messages related to a specific instance.

It also allows setting of formatting information through conf.

class BaseLoggerAdapter(logger, extra)

Bases: logging.LoggerAdapter

audit(msg, *args, **kwargs)
class ColorHandler(stream=None)

Bases: logging.StreamHandler

LEVEL_COLORS = {40: '\x1b[01;31m', 10: '\x1b[00;32m', 50: '\x1b[01;31m', 20: '\x1b[00;36m', 21: '\x1b[01;36m', 30: '\x1b[01;33m'}
format(record)
class ContextAdapter(logger, project_name, version_string)

Bases: cinder.openstack.common.log.BaseLoggerAdapter

deprecated(msg, *args, **kwargs)

Call this method when a deprecated feature is used.

If the system is configured for fatal deprecations then the message is logged at the ‘critical’ level and DeprecatedConfig will be raised.

Otherwise, the message will be logged (once) at the ‘warn’ level.

Raises:DeprecatedConfig if the system is configured for fatal deprecations.
handlers
process(msg, kwargs)
warn(msg, *args, **kwargs)

Delegate a warning call to the underlying logger, after adding contextual information from this adapter instance.

class ContextFormatter(*args, **kwargs)

Bases: logging.Formatter

A context.RequestContext aware formatter configured through flags.

The flags used to set format strings are: logging_context_format_string and logging_default_format_string. You can also specify logging_debug_format_suffix to append extra formatting if the log level is debug.

For information about what variables are available for the formatter see: http://docs.python.org/library/logging.html#formatter

If available, uses the context value stored in TLS - local.store.context

format(record)

Uses contextstring if request_id is set, otherwise default.

formatException(exc_info, record=None)

Format exception output with CONF.logging_exception_prefix.

exception DeprecatedConfig(msg)

Bases: exceptions.Exception

message = u'Fatal call to deprecated config: %(msg)s'
class JSONFormatter(fmt=None, datefmt=None)

Bases: logging.Formatter

format(record)
formatException(ei, strip_newlines=True)
class LazyAdapter(name='unknown', version='unknown')

Bases: cinder.openstack.common.log.BaseLoggerAdapter

logger
exception LogConfigError(log_config, err_msg)

Bases: exceptions.Exception

message = u'Error loading logging config %(log_config)s: %(err_msg)s'
class RFCSysLogHandler(*args, **kwargs)

Bases: logging.handlers.SysLogHandler

format(record)
class WritableLogger(logger, level=20)

Bases: object

A thin wrapper that responds to write and logs.

write(msg)
getLazyLogger(name='unknown', version='unknown')

Returns lazy logger.

Creates a pass-through logger that does not create the real logger until it is really needed and delegates all calls to the real logger once it is created.

getLogger(name='unknown', version='unknown')
mask_password(message, secret='***')

Replace password with ‘secret’ in message.

Parameters:
  • message – The string which includes security information.
  • secret – value with which to replace passwords.
Returns:

The unicode value of message with the password fields masked.

For example:

>>> mask_password("'adminPass' : 'aaaaa'")
"'adminPass' : '***'"
>>> mask_password("'admin_pass' : 'aaaaa'")
"'admin_pass' : '***'"
>>> mask_password('"password" : "aaaaa"')
'"password" : "***"'
>>> mask_password("'original_password' : 'aaaaa'")
"'original_password' : '***'"
>>> mask_password("u'original_password' :   u'aaaaa'")
"u'original_password' :   u'***'"
set_defaults(logging_context_format_string)
setup(product_name, version='unknown')

Setup logging.

Previous topic

The cinder.openstack.common.lockutils Module

Next topic

The cinder.openstack.common.log_handler Module

This Page