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).
¶ 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.
¶ 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.
¶ 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_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. |