跳至內容

過濾 Appium 日誌

有時可能需要從伺服器記錄中隱藏機密資訊,例如密碼、裝置識別碼、雜湊值等。Appium 讓您可以透過 --log-filters 命令列參數,確保這些資訊在記錄中被塗銷。這個參數讓您可以提供特殊設定檔的路徑,其中包含一個或多個記錄混淆規則。

設定格式

篩選設定必須為下列其中之一

  • 包含篩選規則陣列的有效 JSON 檔路徑
  • Appium 設定 檔中的 log-filters 項目,其中包含內嵌的規則陣列

每個規則都是一個物件,其中包含一組預定義的屬性。支援下列規則屬性

  • pattern:要取代的有效 Javascript RegExp 模式。必須是有效的非空模式。
  • text:要取代的簡單非空精確文字比對。必須提供這個屬性或上述屬性。如果同時提供,pattern 優先於 text
  • flags:指定模式的正規表示式旗標。支援的旗標與標準 JavaScript RegExp 建構函式 相同。請注意,g(全域比對)旗標始終啟用。
  • replacer:要使用的取代值。預設為 **SECURE**。允許空值。

設定範例

將所有出現的 my.magic.app 字串以預設取代器取代

[
    {
        "text": "my.magic.app"
    }
]

將所有出現的 my.magic.<any char> 字串以自訂取代器取代(不分大小寫)

[
    {
        "pattern": "my\\.magic\\.\\w",
        "flags": "i",
        "replacer": "***"
    }
]

將所有出現的 my.magic.<any chars> 和/或 your.magic 字串以自訂取代器取代(不分大小寫)

[
    {
        "pattern": "my\\.magic\\.\\w+",
        "flags": "i",
        "replacer": "***"
    },
    {
        "pattern": "your\\.magic",
        "flags": "i",
        "replacer": "***"
    }
]

將所有日誌列截斷為最多 15 個字元(進階)

[
    {
        "pattern": "(.{1,15}).*",
        "flags": "s",
        "replacer": "$1"
    }
]

設定錯誤處理

如果任何設定規則包含無效項目(例如空值/無效模式、空值規則等),Appium 將列印有關收集到的錯誤的詳細報告,並且在這些錯誤得到解決之前無法啟動。