コンテンツへスキップ

Appiumログのフィルタリング

パスワード、デバイス識別子、ハッシュなど、機密情報をサーバーログから非表示にする必要がある場合があります。Appiumでは、--log-filtersコマンドライン引数を使用して、ログ内のそのような情報が改ざんされるようにすることができます。この引数を使用すると、1つ以上のログ難読化ルールを含む特別な設定ファイルへのパスを指定できます。

設定形式

フィルタリング設定は次のいずれかである必要があります。

  • フィルタリングルールの配列を含む有効なJSONファイルへのパス
  • ルール配列をインラインで含むAppium設定ファイル内のlog-filtersエントリ

各ルールは、一連の定義済みのプロパティを持つオブジェクトです。次のルールプロパティがサポートされています。

  • pattern: 置換する有効なJavaScript RegExpパターン。有効な空でないパターンである必要があります。
  • text: 置換する単純な空でない完全一致テキスト。このプロパティまたは上記のいずれかを指定する必要があります。両方が指定されている場合、patterntextよりも優先されます。
  • flags: 指定されたパターンに対する正規表現フラグ。サポートされているフラグは、標準のJavaScript RegExpコンストラクタと同じです。g(グローバルマッチング)フラグは常に有効であることに注意してください。
  • replacer: 使用する置換値。デフォルトは**SECURE**です。空の値も許容されます。

設定例

my.magic.app文字列のすべての出現箇所をデフォルトの置換値で置換します。

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

my.magic.<任意の文字>文字列のすべての出現箇所をカスタム置換値で置換します(大文字と小文字を区別しません)。

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

my.magic.<任意の文字列>および/またはyour.magic文字列のすべての出現箇所をカスタム置換値で置換します(大文字と小文字を区別しません)。

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

すべてのログ行を最大15文字に切り詰めます(高度な設定)。

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

設定エラー処理

設定ルールのいずれかに無効な項目(空/無効なパターン、空のルールなど)が含まれている場合、Appiumは収集されたエラーに関する詳細なレポートを出力し、これらのエラーに対処するまで起動に失敗します。