替换格式字符串(proto)
config.core.v3.JsonFormatOptions
[config.core.v3.JsonFormatOptions proto]
与 json_format 一起使用的可选配置选项。
{
"sort_properties": ...
}
- sort_properties
(bool) 输出 JSON 字符串属性将被排序。
config.core.v3.SubstitutionFormatString
[config.core.v3.SubstitutionFormatString proto]
使用多个 命令运算符 以纯文本或 JSON 格式生成新字符串的配置。
{
"text_format": ...,
"json_format": {...},
"text_format_source": {...},
"omit_empty_values": ...,
"content_type": ...,
"formatters": [],
"json_format_options": {...}
}
- text_format
(string) 使用命令运算符指定格式以形成文本字符串。其详细信息在 格式字符串 中描述。
例如,设置
text_format
如下所示:text_format: "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%\n"
生成类似于以下内容的纯文本
upstream connect error:503:path=/foo
已弃用,取而代之的是 text_format_source。要迁移文本格式字符串,请使用 inline_string 字段。
必须设置 text_format、json_format、text_format_source 中的其中一个。
- json_format
(Struct) 使用命令运算符指定格式以形成 JSON 字符串。其详细信息在 格式字典 中描述。值将根据需要呈现为字符串、数字或布尔值。嵌套的 JSON 对象可能由某些命令运算符(例如 FILTER_STATE 或 DYNAMIC_METADATA)生成。有关详细信息,请参阅特定命令运算符的文档。
json_format: status: "%RESPONSE_CODE%" message: "%LOCAL_REPLY_BODY%"
将创建以下 JSON 对象
{ "status": 500, "message": "My error message" }
必须设置 text_format、json_format、text_format_source 中的其中一个。
- text_format_source
(config.core.v3.DataSource) 使用命令运算符指定格式以形成文本字符串。其详细信息在 格式字符串 中描述。
例如,设置
text_format
如下所示:text_format_source: inline_string: "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%\n"
生成类似于以下内容的纯文本
upstream connect error:503:path=/foo
必须设置 text_format、json_format、text_format_source 中的其中一个。
- omit_empty_values
(bool) 如果设置为 true,则当命令运算符计算为 null 时,
对于
text_format
,空运算符的输出从-
更改为空字符串,以便完全省略空值。对于
json_format
,输出结构中省略了具有空值的键。
- content_type
(string) 指定一个
content_type
字段。如果没有设置此字段,则text/plain
用于text_format
,application/json
用于json_format
。content_type: "text/html; charset=UTF-8"
- formatters
(repeated config.core.v3.TypedExtensionConfig) 指定可以从访问日志配置中调用的格式化程序插件的集合。有关详细信息,请参阅格式化程序扩展文档。
- json_format_options
(config.core.v3.JsonFormatOptions) 如果使用 json_format,则选项将应用于输出 JSON 字符串。