配置选项¶
oslo.log 使用 oslo.config 来定义和管理配置选项,以便部署者控制应用程序日志的处理方式。
默认值¶
- debug¶
- 类型:
布尔值
- 默认值:
False- 可变:
此选项可以在不重启的情况下更改。
如果设置为 true,日志级别将被设置为 DEBUG,而不是默认的 INFO 级别。
- log_config_append¶
- 类型:
字符串
- 默认值:
<None>- 可变:
此选项可以在不重启的情况下更改。
日志配置文件的名称。此文件将附加到任何现有的日志配置文件。有关日志配置文件的详细信息,请参阅 Python 日志模块文档。请注意,当使用日志配置文件时,所有日志配置都设置在配置文件中,并且其他日志配置选项将被忽略(例如,log-date-format)。
已弃用的变体¶ Group
名称
DEFAULT
log-config
DEFAULT
log_config
- log_date_format¶
- 类型:
字符串
- 默认值:
%Y-%m-%d %H:%M:%S
定义日志记录中的 %(asctime)s 的格式字符串。默认值:上述值。如果设置了 log_config_append,则此选项将被忽略。
- log_file¶
- 类型:
字符串
- 默认值:
<None>
(可选) 将日志输出发送到的日志文件名。如果没有设置默认值,日志将输出到 stderr,如 use_stderr 中定义的那样。如果设置了 log_config_append,则此选项将被忽略。
已弃用的变体¶ Group
名称
DEFAULT
logfile
- log_dir¶
- 类型:
字符串
- 默认值:
<None>
(可选) 用于相对 log_file 路径的基本目录。如果设置了 log_config_append,则此选项将被忽略。
已弃用的变体¶ Group
名称
DEFAULT
logdir
- watch_log_file¶
- 类型:
布尔值
- 默认值:
False
使用设计为监视文件系统的日志记录处理程序。当日志文件被移动或删除时,此处理程序将立即使用指定的路径打开新的日志文件。只有在指定了 log_file 选项并且使用 Linux 平台时才有意义。如果设置了 log_config_append,则此选项将被忽略。
警告
此选项已弃用,将来可能会被静默忽略。
- 原因:
已知此功能长期存在问题,并且依赖于未维护的库
- use_syslog¶
- 类型:
布尔值
- 默认值:
False
使用 syslog 进行日志记录。现有的 syslog 格式已弃用,以后将更改为符合 RFC5424。如果设置了 log_config_append,则此选项将被忽略。
- use_journal¶
- 类型:
布尔值
- 默认值:
False
启用 journald 进行日志记录。如果正在 systemd 环境中运行,您可能希望启用 journal 支持。这样做将使用 journal 本机协议,其中包括结构化元数据以及日志消息。如果设置了 log_config_append,则此选项将被忽略。
- syslog_log_facility¶
- 类型:
字符串
- 默认值:
LOG_USER
接收日志行的 syslog facility。如果设置了 log_config_append,则此选项将被忽略。
- use_json¶
- 类型:
布尔值
- 默认值:
False
使用 JSON 格式进行日志记录。如果设置了 log_config_append,则此选项将被忽略。
- use_stderr¶
- 类型:
布尔值
- 默认值:
False
将日志输出记录到标准错误。如果设置了 log_config_append,则此选项将被忽略。
- log_color¶
- 类型:
布尔值
- 默认值:
False
(可选) 根据日志级别设置“color”键。此选项仅在将日志记录到 stderr 或 stdout 时生效。如果设置了 log_config_append,则此选项将被忽略。
- log_rotate_interval¶
- 类型:
整数
- 默认值:
1
日志文件轮换前的时间量。如果未设置 log_rotation_type 为“interval”,则此选项将被忽略。
- log_rotate_interval_type¶
- 类型:
字符串
- 默认值:
days- 有效值:
秒、分钟、小时、天、星期几、午夜
轮换间隔类型。在安排下一次轮换时,使用上次文件更改时间(或服务启动时间)。
- max_logfile_count¶
- 类型:
整数
- 默认值:
30
最大轮换日志文件数。
- max_logfile_size_mb¶
- 类型:
整数
- 默认值:
200
日志文件最大大小(MB)。如果“log_rotation_type”未设置为“size”,则此选项将被忽略。
- log_rotation_type¶
- 类型:
字符串
- 默认值:
none- 有效值:
interval, size, none
日志轮换类型。
可能的值
- interval
以预定义的时间间隔轮换日志。
- size
当日志达到预定义的大小后轮换日志。
- none
不轮换日志文件。
- logging_context_format_string¶
- 类型:
字符串
- 默认值:
%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(user_identity)s] %(instance)s%(message)s
用于带有上下文的日志消息的格式字符串。由 oslo_log.formatters.ContextFormatter 使用
- logging_default_format_string¶
- 类型:
字符串
- 默认值:
%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
当上下文未定义时,用于日志消息的格式字符串。由 oslo_log.formatters.ContextFormatter 使用
- logging_debug_format_suffix¶
- 类型:
字符串
- 默认值:
%(funcName)s %(pathname)s:%(lineno)d
当消息的日志级别为 DEBUG 时,附加到日志消息的额外数据。由 oslo_log.formatters.ContextFormatter 使用
- logging_exception_prefix¶
- 类型:
字符串
- 默认值:
%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
将此格式作为异常输出的每一行的前缀。由 oslo_log.formatters.ContextFormatter 使用
- logging_user_identity_format¶
- 类型:
字符串
- 默认值:
%(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s
定义 logging_context_format_string 中使用的 %(user_identity)s 的格式字符串。由 oslo_log.formatters.ContextFormatter 使用
- default_log_levels¶
- 类型:
列表
- 默认值:
['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', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']
包日志级别列表,格式为 logger=LEVEL 对。如果设置了 log_config_append,则此选项将被忽略。
- publish_errors¶
- 类型:
布尔值
- 默认值:
False
启用或禁用错误事件的发布。
- instance_format¶
- 类型:
字符串
- 默认值:
"[instance: %(uuid)s] "
与日志消息一起传递的实例的格式。
- instance_uuid_format¶
- 类型:
字符串
- 默认值:
"[instance: %(uuid)s] "
与日志消息一起传递的实例 UUID 的格式。
- rate_limit_interval¶
- 类型:
整数
- 默认值:
0
日志速率限制的间隔,秒数。
- rate_limit_burst¶
- 类型:
整数
- 默认值:
0
每 rate_limit_interval 允许记录的最大消息数。
- rate_limit_except_level¶
- 类型:
字符串
- 默认值:
CRITICAL- 有效值:
CRITICAL, ERROR, INFO, WARNING, DEBUG, ‘’
速率限制使用的日志级别。日志级别大于或等于 rate_limit_except_level 的日志不会被过滤。空字符串表示所有级别都不会被过滤。
- fatal_deprecations¶
- 类型:
布尔值
- 默认值:
False
启用或禁用弃用信息的致命状态。
格式字符串和日志记录元数据¶
oslo.log 构建于 Python 标准库 logging 模块之上。格式字符串支持该库提供的所有内置替换键,并增加了一些键。以下列出了一些更有用的键。有关内置值的完整详细信息,请参阅库文档中的LogRecord 属性部分。
基本信息¶
格式键 |
描述 |
|---|---|
|
从应用程序代码传递的消息。 |
时间信息¶
格式键 |
描述 |
|---|---|
|
创建日志记录的时间的可读时间戳,格式为 ‘2003-07-08 16:49:45,896’(逗号后的数字是毫秒)。 |
|
创建日志记录的时间的可读时间戳,使用 Python 的 isoformat() 函数以 ISO 8601 格式 ( |
位置信息¶
格式键 |
描述 |
|---|---|
|
发出日志记录调用的源文件的完整名称,如果可用。 |
|
|
|
发出日志记录调用的源行号,如果可用。 |
|
模块名称是从文件名派生的。 |
|
用于记录调用的记录器的名称。对于 OpenStack 项目,这通常对应于完整的模块名称(例如, |
严重程度信息¶
格式键 |
描述 |
|---|---|
|
消息的文本日志记录级别 ( |
|
消息的数字日志记录级别。DEBUG 级别的消息具有比 INFO 更低的数值,INFO 比 WARNING 更低,依此类推。 |
错误处理信息¶
格式键 |
描述 |
|---|---|
|
正在处理的异常的名称以及与之关联的任何消息。 |
身份信息¶
这些键仅在同时使用 oslo.context 的 OpenStack 应用程序中可用。
格式键 |
描述 |
|---|---|
|
用户的预格式化身份信息。请参阅 |
|
如果可用,则经过身份验证的用户的名称。 |
|
如果可用,则经过身份验证的用户的 ID。 |
|
如果可用,则经过身份验证的项目的名称。 |
|
如果可用,则经过身份验证的项目的 ID。 |
|
如果可用,则经过身份验证的用户域的 ID。 |
|
如果可用,则经过身份验证的项目的 ID。 |
|
当前请求的 ID。此值可用于将多个日志消息关联起来,作为与同一操作相关的消息。 |
|
当前操作将影响的资源 ID。例如,实例、网络、卷等。 |