Configuration Options

Configuration Options

oslo.log uses oslo.config to define and manage configuration options to allow the deployer to control how an application’s logs are handled.

DEFAULT

debug
Type:boolean
Default:false
Mutable:This option can be changed without restarting.

If set to true, the logging level will be set to DEBUG instead of the default INFO level.

log_config_append
Type:string
Default:<None>
Mutable:This option can be changed without restarting.

The name of a logging configuration file. This file is appended to any existing logging configuration files. For details about logging configuration files, see the Python logging module documentation. Note that when logging configuration files are used then all logging configuration is set in the configuration file and other logging configuration options are ignored (for example, logging_context_format_string).

Deprecated Variations
Group Name
DEFAULT log-config
DEFAULT log_config
log_date_format
Type:string
Default:%Y-%m-%d %H:%M:%S

Defines the format string for %(asctime)s in log records. Default: the value above . This option is ignored if log_config_append is set.

log_file
Type:string
Default:<None>

(Optional) Name of log file to send logging output to. If no default is set, logging will go to stderr as defined by use_stderr. This option is ignored if log_config_append is set.

Deprecated Variations
Group Name
DEFAULT logfile
log_dir
Type:string
Default:<None>

(Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set.

Deprecated Variations
Group Name
DEFAULT logdir
watch_log_file
Type:boolean
Default:false

Uses logging handler designed to watch file system. When log file is moved or removed this handler will open a new log file with specified path instantaneously. It makes sense only if log_file option is specified and Linux platform is used. This option is ignored if log_config_append is set.

use_syslog
Type:boolean
Default:false

Use syslog for logging. Existing syslog format is DEPRECATED and will be changed later to honor RFC5424. This option is ignored if log_config_append is set.

use_journal
Type:boolean
Default:false

Enable journald for logging. If running in a systemd environment you may wish to enable journal support. Doing so will use the journal native protocol which includes structured metadata in addition to log messages.This option is ignored if log_config_append is set.

syslog_log_facility
Type:string
Default:LOG_USER

Syslog facility to receive log lines. This option is ignored if log_config_append is set.

use_json
Type:boolean
Default:false

Use JSON formatting for logging. This option is ignored if log_config_append is set.

use_stderr
Type:boolean
Default:false

Log output to standard error. This option is ignored if log_config_append is set.

logging_context_format_string
Type:string
Default:%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s

Format string to use for log messages with context.

logging_default_format_string
Type:string
Default:%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s

Format string to use for log messages when context is undefined.

logging_debug_format_suffix
Type:string
Default:%(funcName)s %(pathname)s:%(lineno)d

Additional data to append to log message when logging level for the message is DEBUG.

logging_exception_prefix
Type:string
Default:%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

Prefix each line of exception output with this format.

logging_user_identity_format
Type:string
Default:%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s

Defines the format string for %(user_identity)s that is used in logging_context_format_string.

default_log_levels
Type:list
Default:amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO

List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set.

publish_errors
Type:boolean
Default:false

Enables or disables publication of error events.

instance_format
Type:string
Default:"[instance: %(uuid)s] "

The format for an instance that is passed with the log message.

instance_uuid_format
Type:string
Default:"[instance: %(uuid)s] "

The format for an instance UUID that is passed with the log message.

rate_limit_interval
Type:integer
Default:0

Interval, number of seconds, of log rate limiting.

rate_limit_burst
Type:integer
Default:0

Maximum number of logged messages per rate_limit_interval.

rate_limit_except_level
Type:string
Default:CRITICAL

Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG or empty string. Logs with level greater or equal to rate_limit_except_level are not filtered. An empty string means that all levels are filtered.

fatal_deprecations
Type:boolean
Default:false

Enables or disables fatal status of deprecations.

Format Strings and Log Record Metadata

oslo.log builds on top of the Python standard library logging module. The format string supports all of the built-in replacement keys provided by that library, with some additions. Some of the more useful keys are listed here. Refer to the section on LogRecord attributes in the library documentation for complete details about the built-in values.

Basic Information

Format key Description
%(message)s The message passed from the application code.

Time Information

Format key Description
%(asctime)s Human-readable time stamp of when the logging record was created, formatted as ‘2003-07-08 16:49:45,896’ (the numbers after the comma are milliseconds).
%(isotime)s Human-readable time stamp of when the logging record was created, using Python’s isoformat() function in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm or, if the microseconds value is 0, YYYY-MM-DDTHH:MM:SS).

Location Information

Format key Description
%(pathname)s Full name of the source file where the logging call was issued, when it is available.
%(filename)s Filename portion of pathname.
%(lineno)d Source line number where the logging call was issued, when it is available.
%(module)s The module name is derived from the filename.
%(name)s The name of the logger used to log the call. For OpenStack projects, this usually corresponds to the full module name (i.e., nova.api or oslo_config.cfg).

Severity Information

Format key Description
%(levelname)s Text logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL).
%(levelno)s Numeric logging level for the message. DEBUG level messages have a lower numerical value than INFO, which have a lower value than WARNING, etc.

Error Handling Information

Format key Description
%(error_summary)s The name of the exception being processed and any message associated with it.

Identity Information

These keys are only available in OpenStack applications that also use oslo.context.

Format key Description
%(user_identity)s The pre-formatted identity information about the user. See the logging_user_identity_format configuration option.
%(user_name)s The name of the authenticated user, if available.
%(user)s The ID of the authenticated user, if available.
%(tenant_name)s The name of the authenticated tenant, if available.
%(tenant)s The ID of the authenticated tenant, if available.
%(user_domain)s The ID of the authenticated user domain, if available.
%(project_domain)s The ID of the authenticated project/tenant, if available.
%(request_id)s The ID of the current request. This value can be used to tie multiple log messages together as relating to the same operation.
%(resource_uuid)s The ID of the resource on which the current operation will have effect. For example, the instance, network, volume, etc.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.