服务器其他默认配置项
除站点、代理、安全相关的配置外,http 节点下还有一组用于控制访问日志输出格式的默认配置项。
1 日志格式配置
{
"http": {
"log_split": " ",
"log_format": [
"user_agent", "time", "type", "method", "path"
]
}
}
| 配置项 | 类型 | 说明 |
|---|---|---|
log_split | 字符串 | 日志字段之间的分隔符,示例为单个空格 " " |
log_format | 字符串数组 | 日志输出的字段及其顺序,字段之间按 log_split 拼接 |
2 log_format 支持的变量
log_format 数组中的每一项取自以下变量:
| 变量 | 含义 |
|---|---|
user_agent | 客户端 User-Agent |
ip_port | 客户端 IP 与端口 |
time | 请求时间 |
type | 日志类型 |
method | HTTP 方法 |
path | 请求路径 |
host | 请求的主机名 |
status | 响应状态码 |
size | 响应体大小 |
referer | 来源页地址 |
3 示例
按默认分隔符输出「客户端 IP+端口、时间、方法、路径、状态码」:
{
"http": {
"log_split": " ",
"log_format": [
"ip_port", "time", "method", "path", "status"
]
}
}
若想让日志便于后续用工具切分,可换用不会出现在字段内容中的分隔符:
{
"http": {
"log_split": "|",
"log_format": [
"time", "ip_port", "method", "path", "status", "size", "user_agent"
]
}
}
User-Agent 中可能含有空格,若把
log_split 设为空格,日志解析时字段数量会不稳定,建议使用 |、\t 之类不常见于内容的字符。