全域性配置

目錄結構

|-- /
  |-- global_configs.yaml

global_configs.yaml 檔案中需位於您配置目錄的根目錄中,並且名稱固定為 global_configs.yaml。 其中包含 訪問日誌格式自定義共享記憶體區全域性變數 等配置。

訪問日誌格式配置

在 OpenResty Edge 中,您可以配置多個訪問日誌格式。為此,訪問日誌格式以陣列形式進行表示。

引數說明

引數名資料型別是否必選描述
namestring訪問日誌格式的唯一標識名稱
formatstring定義日誌格式
escapestring指定日誌字元的轉義方式,可選值包括:default、none、json
defaultbool指定該日誌格式是否作為預設日誌格式

default 引數決定是否將此日誌格式設定為預設選項。如果設定為預設,那麼沒有特別指定日誌格式的應用將採用該格式。 注意:配置中有且只能有一個預設的日誌格式。

配置示例

access_log_formats:
- default: false
  name: example
  escape: json
  format: |-
    {
        "time_local": "$time_local",
        "method": "$request_method",
        "request": "$request",
        "transid": "$or_global_user_variable_uuid",
        "upstream_header_time": "$upstream_header_time"
    }

依照此示例配置,將會建立一個名為 example 的訪問日誌格式。在日誌格式列表中,將包含 examplemain 兩個日誌格式。 在 format 引數中指定的日誌格式內容裡,使用了一個名為 uuid 的全域性使用者變數,表示為 $or_global_user_variable_uuid

自定義共享記憶體區配置

您可以定義多個共享記憶體區,因此這些區域以陣列形式表示。

引數詳解

引數名資料型別是否必選描述
namestring共享記憶體區的唯一標識名稱
sizestring定義共享記憶體區的容量大小
size_unitstring指明共享記憶體區大小的單位,可選值為 k、m、g

配置示例

custom_shared_zone:
- size_unit: m
  name: cache_shared_dict
  size: 1
- size_unit: m
  name: rec_cache_shared_dict
  size: 1

全域性使用者變數

您可以定義多個全域性變數,因此變數以陣列形式表示。

引數詳解

引數名資料型別是否必選描述
namestring變數的唯一標識名稱
typestring變數的資料型別,可選值為 string, num, int, bool
defaultstring變數的預設值

配置示例

user_variables:
- name: uuid
  type: string
  default: '-'

在此示例中,定義了一個名為 uuid 的全域性使用者變數。

全域性使用者變數可以在訪問日誌或 Edgelang 指令碼中使用,格式為 $or_global_user_variable_<變數名>。例如:

$or_global_user_variable_uuid

相關文件