http {
    # ..............
    # 根据响应码定义日志级别
    map $status $log_level {
        ~^[45] ERROR;
        default INFO;
    }
    # 使用 map 提取时间组件
    map $time_iso8601 $time_components {
        "~^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})T(?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2})" "$year-$month-$day $hour:$minute:$second";
        default "unknown";
    }
    
    log_format main '$remote_addr $remote_user [$time_components] [$log_level] [$upstream_response_time]  "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; 
    # ..............
    
}