全部产品
Search
文档中心

Simple Log Service:Fungsi Pemeriksaan Event

更新时间:Jul 02, 2025

Topik ini menjelaskan sintaksis dan parameter fungsi pemeriksaan event serta memberikan contoh penggunaannya.

Fungsi

KategoriFungsiDeskripsi
Fungsi dasare_hasMemeriksa apakah bidang log ada.
e_not_hasMemeriksa apakah bidang log tidak ada.

Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.

Fungsi ekspresie_searchMencari event menggunakan sintaks query yang mirip dengan Lucene.

Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.

e_matchMemeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler.

Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.

e_match_anyMemeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Jika satu atau lebih bidang yang ditentukan cocok dengan ekspresi reguler, True dikembalikan. Jika tidak, False dikembalikan.
e_match_allMemeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Jika semua bidang yang ditentukan cocok dengan ekspresi reguler, True dikembalikan. Jika tidak, False dikembalikan.
Tabel berikut menggambarkan fungsi ekspresi yang dapat digunakan bersama dengan fungsi pemeriksaan event.
KategoriFungsiDeskripsi
Fungsi logikaop_andMemanggil operasi AND.
op_orMemanggil operasi OR.
op_notMemanggil operasi NOT.
op_nullifMemeriksa apakah nilai dua ekspresi sama.
op_ifnullMengembalikan nilai ekspresi pertama yang nilainya bukan None.
op_coalesceMengembalikan nilai ekspresi pertama yang nilainya bukan None.

e_has

Fungsi ini memeriksa apakah bidang log tersedia.
  • e_has("key")
  • ParameterTipeDiperlukanDeskripsi
    keyStringYaNama bidang log.
  • Jika bidang yang ditentukan ada, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.

  • Periksa apakah log berisi bidang konten. Jika log berisi bidang konten, log dipertahankan. Jika tidak, log dihapus.
    • Log mentah:
      content: 123
    • Aturan transformasi:
      e_keep(e_has("content"))
    • Hasil:
      content: 123

e_not_has

Fungsi ini memeriksa apakah bidang log tidak tersedia.
  • e_not_has("key")
  • ParameterTipeDiperlukanDeskripsi
    keyStringYaNama bidang log.
  • Jika bidang yang ditentukan tidak ada, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.

  • Periksa apakah log berisi bidang konten. Jika log tidak berisi bidang konten, log dipertahankan. Jika tidak, log dihapus.

    • Log mentah:
      content: 123
    • Aturan transformasi:
      e_if_else(e_not_has("content"),KEEP,DROP)
    • Hasil:

      Log dihapus.

  • Catatan penggunaan lainnya

    Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.

e_search

Fungsi ini mencari event menggunakan sintaks query yang mirip dengan Lucene.
  • e_search(querystring)
  • ParameterTipeDiperlukanDeskripsi
    querystringStringYaString query yang ingin Anda gunakan untuk menyaring data log. Untuk informasi lebih lanjut, lihat Sintaks string query.
  • Jika kondisi yang ditentukan terpenuhi, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.

  • # Pencarian teks lengkap
    e_search("active error")   # Cari beberapa substring dalam teks lengkap. Substring tersebut dihubungkan satu sama lain menggunakan operator logika OR. 
    e_search('"active error"')   # Cari substring dalam teks lengkap. 
    
    # Pencarian bidang
    e_search("status: active")   # Cari substring dalam bidang tertentu. 
    e_search('author: "john smith"')   # Mencari substring yang mengandung karakter spasi dalam bidang tertentu. 
    e_search('field: active error')   # Cari bidang tertentu untuk substring "active" atau cari semua log untuk substring "error". String query dalam contoh ini setara dengan field:active OR "error". 
    
    # Pencocokan tepat
    e_search('author== "john smith"')  
    
    # Cari nilai bidang menggunakan karakter wildcard. Anda dapat menggunakan asterisk (*) untuk mencocokkan nol atau lebih karakter. Anda dapat menggunakan tanda tanya (?) untuk mencocokkan satu karakter. 
    e_search("status: active*test")    # active*test mengandung satu asterisk (*). Anda tidak perlu menutup nilai dalam tanda kutip ganda (""). 
    e_search("status: active?good")    # active?good mengandung satu tanda tanya (?). Anda tidak perlu menutup nilai dalam tanda kutip ganda (""). 
    e_search("status== ac*tive?good")  # String query digunakan untuk pencocokan tepat. 
    
    # Escape karakter khusus dalam nilai bidang. Asterisk (*) atau tanda tanya (?) yang tidak digunakan sebagai wildcard harus di-escape dalam nilai bidang menggunakan backslash (\). 
    e_search('status: "\*\?()[]:="')  # \*\?()[]:=  mengandung beberapa karakter khusus. Anda harus menutup nilai dalam tanda kutip ganda (""). Asterisk (*), tanda tanya (?), dan backslash (\) dalam nilai di-escape. 
    e_search("status: active\*test")  # active\*test mengandung satu asterisk (*). Anda tidak perlu menutup nilai dalam tanda kutip ganda (""). 
    e_search("status: active\* test")   # active\*test  mengandung satu tanda tanya (?). Anda tidak perlu menutup nilai dalam tanda kutip ganda (""). 
    
    # Escape karakter khusus dalam nama bidang
    e_search("\*\(1+1\)\?: abc")                  # Anda tidak dapat menutup nama bidang dalam tanda kutip ganda (""). Anda harus meng-escape karakter khusus menggunakan backslash (\). 
    e_search("__tag__\:__container_name__: abc")  # Anda harus meng-escape karakter khusus menggunakan backslash (\). 
    e_search("field name in Chinese: abc")                     # Masukkan karakter Cina yang membentuk nama bidang. 
    
    # Cari string menggunakan ekspresi reguler.
    e_search('content~="regular expression"')   # Cari substring yang cocok dengan ekspresi reguler. 
    
    # Perbandingan nilai numerik
    e_search('count: [100, 200]')   # >=100 and <=200
    e_search('count: [*, 200]')     # <=200
    e_search('count: [200, *]')     # >=200
    e_search('age >= 18')           # >= 18
    e_search('age > 18')            # > 18
    
    # Operator relasional
    e_search("abc OR xyz")    # Operator relasional tidak peka huruf besar/kecil. 
    e_search("abc and (xyz or zzz)")
    e_search("abc and not (xyz and not zzz)")
    e_search("abc && xyz")    # and
    e_search("abc || xyz")    # or
    e_search("abc || !xyz")   # or not
  • Catatan penggunaan lainnya

    Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.

e_match

Fungsi ini memeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi.
  • e_match(key, regular_expression, full=True)
    Catatan Dalam kebanyakan kasus, fungsi e_match digunakan bersama dengan fungsi op_not, op_and, atau op_or.
  • ParameterTipeDiperlukanDeskripsi
    keyStringYaNama bidang log. Jika bidang yang ditentukan tidak ada, bidang tersebut tidak memenuhi kondisi yang ditentukan.

    Sebagai contoh, jika bidang f1 tidak ada, fungsi e_match("f1", ...) mengembalikan False.

    regular_expressionStringYaEkspresi reguler. Jika Anda ingin mencocokkan string menggunakan literal string, Anda dapat menggunakan fungsi str_regex_escape untuk meng-escape karakter.
    fullBoolTidakMenentukan apakah akan melakukan pencocokan tepat. Secara default, parameter ini disetel ke True, yang menentukan pencocokan tepat. Untuk informasi lebih lanjut, lihat Ekspresi reguler.
  • Jika bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.

  • Periksa apakah nilai bidang k1 adalah angka.
    • Log mentah:
      k1: 123
    • Aturan transformasi:
      e_set("match",e_match("k1",r'\d+'))
    • Hasil:
      k1: 123
      match: True
  • Catatan penggunaan lainnya

    Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.

e_match_any

Fungsi ini memeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Jika satu atau lebih bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.
  • e_match_any(key1, regular_expression1, key2, regular_expression2, ..., full=True)
    Catatan
    • Parameter key dan regular_expression harus ditentukan berpasangan.
    • Dalam kebanyakan kasus, fungsi e_match_any digunakan bersama dengan fungsi op_not, op_and, atau op_or.
  • ParameterTipeDiperlukanDeskripsi
    keyStringYaNama bidang log. Jika bidang yang ditentukan tidak ada, bidang tersebut tidak memenuhi kondisi yang ditentukan.

    Sebagai contoh, jika bidang f1 tidak ada, fungsi e_match_any("f1", ...) mengembalikan False.

    regular_expressionStringYaEkspresi reguler. Jika Anda ingin mencocokkan string menggunakan literal string, Anda dapat menggunakan fungsi str_regex_escape untuk meng-escape karakter.
    fullBoolTidakMenentukan apakah akan melakukan pencocokan tepat. Nilai default True menentukan pencocokan tepat. Untuk informasi lebih lanjut, lihat Ekspresi reguler.
  • Jika bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.

  • Periksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Jika satu atau lebih bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan.
    • Log mentah:
      k1: 123
      k2: abc
      k3: abc123
    • Aturan transformasi:
      e_set("match",e_match_any('k1', r'\d+', 'k2', '.+'))
    • Hasil:
      k1:123
      k2:abc
      k3:abc123
      match:true
  • Catatan penggunaan lainnya

    Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.

e_match_all

Fungsi ini memeriksa apakah nilai bidang log memenuhi kondisi yang ditentukan dalam ekspresi reguler. Jika semua bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.
  • e_match_all(key1, regular_expression1, key2, regular_expression2, ..., full=True)
    Catatan
    • Parameter key dan regular_expression harus ditentukan berpasangan.
    • Dalam kebanyakan kasus, fungsi e_match_all digunakan bersama dengan fungsi op_not, op_and, atau op_or.
  • ParameterTipeDiperlukanDeskripsi
    keyStringYaNama bidang log. Jika bidang yang ditentukan tidak ada, bidang tersebut tidak memenuhi kondisi yang ditentukan.

    Sebagai contoh, jika bidang f1 tidak ada, fungsi e_match_all("f1", ...) mengembalikan False.

    regular_expressionStringYaEkspresi reguler. Jika Anda ingin mencocokkan string menggunakan literal string, Anda dapat menggunakan fungsi str_regex_escape untuk meng-escape karakter.
    fullBoolTidakMenentukan apakah akan melakukan pencocokan tepat. Secara default, parameter ini disetel ke True, yang menentukan pencocokan tepat. Untuk informasi lebih lanjut, lihat Ekspresi reguler.
  • Jika bidang yang ditentukan cocok dengan ekspresi reguler, nilai True dikembalikan. Jika tidak, nilai False dikembalikan.

    • Log mentah:
      k1: 123
      k2: abc
      k3: abc123
    • Aturan transformasi:
      e_set("match", e_match_all("k1", r"\d+", "k2", r"\d+"))
    • Hasil:
      k1:123
      k2:abc
      k3:abc123
      match:false
  • Catatan penggunaan lainnya

    Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Membersihkan data menggunakan fungsi.