全部产品
Search
文档中心

Simple Log Service:Fungsi pemrosesan field

更新时间:Jun 26, 2025

Topik ini menjelaskan sintaksis dan parameter fungsi pemrosesan field serta memberikan contoh penggunaannya.

Fungsi

Fungsi

Deskripsi

v

Mengekstrak nilai dari sebuah field dalam log. Jika Anda menentukan beberapa nama field untuk fungsi ini, fungsi akan mengembalikan nilai dari field pertama yang ada di dalam log.

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

e_set

Menambahkan field atau menentukan nilai baru untuk field yang sudah ada.

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

e_drop_fields

Menghapus field log yang memenuhi kondisi tertentu.

Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Mentransformasi data JSON kompleks.

e_keep_fields

Menyimpan field log yang memenuhi kondisi tertentu.

e_pack_fields

Mengemas field log dan menetapkan field log sebagai nilai ke field baru.

e_rename

Mengganti nama field log yang memenuhi kondisi tertentu.

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

v

Fungsi v mengekstrak nilai dari sebuah field dalam log. Jika Anda menentukan beberapa nama field, fungsi akan mengembalikan nilai dari field pertama yang ada di dalam log.

  • Sintaksis

    v(key, ..., default=None)
  • Parameter

    Parameter

    Tipe

    Diperlukan

    Deskripsi

    key

    String

    Ya

    Nama dari field.

    default

    Arbitrary

    Tidak

    Jika field tidak ada, fungsi akan mengembalikan nilai dari parameter ini. Nilai default: None.

  • Respons

    Nilai dari field pertama yang ada di dalam log dikembalikan. Jika field tidak ada, nilai dari parameter default dikembalikan.

  • Contoh

    Tetapkan nilai field content ke field test_content.

    • Log mentah:

      content: hello
    • Aturan transformasi:

      e_set("test_content", v("content"))
    • Hasil:

      content: hello
      test_content: hello
  • Referensi

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

e_set

Fungsi e_set menambahkan field baru atau menentukan nilai baru untuk field yang sudah ada.

  • Sintaksis

    e_set(key1, value1, key2, value2, mode="overwrite")
    Penting
    • Anda harus menentukan parameter key1 dan value1 secara berpasangan.

    • Jika Anda menggunakan fungsi e_set untuk menentukan nilai untuk field waktu seperti F_TIME atau __time__, nilai tersebut harus berupa string numerik.

      e_set(F_TIME, "abc")   # Sintaksis tidak valid.
      e_set(F_TIME, "12345678")   # Sintaksis valid.
  • Parameter

    Parameter

    Tipe

    Diperlukan

    Deskripsi

    key

    String

    Ya

    Nama dari field baru yang ingin Anda tambahkan atau nama dari field yang sudah ada untuk mana Anda ingin menentukan nilai baru. Anda bisa mendapatkan nama berdasarkan ekspresi string. Untuk informasi lebih lanjut tentang cara menentukan nama field khusus, lihat Tipe-tipe event.

    value

    Arbitrary

    Ya

    Nilai dari field baru atau nilai baru dari field yang sudah ada. Jika nilai dari parameter ini bukan string, fungsi secara otomatis mengonversi nilai tersebut menjadi string. Sebagai contoh, jika Anda menetapkan parameter ini ke nilai tipe tuple, list, atau dictionary, fungsi secara otomatis mengonversi nilai tersebut menjadi string JSON. Untuk informasi lebih lanjut tentang aturan konversi string, lihat Konversi tipe otomatis selama penugasan.

    Catatan

    Jika Anda menetapkan parameter ini ke None, fungsi akan mengembalikan log mentah.

    mode

    String

    Tidak

    Mode penimpaan field. Nilai default: overwrite. Untuk informasi lebih lanjut, lihat Pemeriksaan ekstraksi field dan mode penimpaan.

  • Respons

    Log yang diperbarui dikembalikan.

  • Contoh

    • Contoh 1: Tetapkan nilai tetap untuk sebuah field.

      Tambahkan field baru bernama city dan tetapkan nilainya menjadi Shanghai.

      e_set("city", "Shanghai")
    • Contoh 2: Ekstrak nilai dari field yang sudah ada dan tetapkan nilainya ke field baru.

      Panggil fungsi ekspresi untuk mengekstrak nilai dari field yang sudah ada bernama ret dan tetapkan nilainya ke field baru bernama result.

      e_set("result", v("ret"))
    • Contoh 3: Tetapkan nilai dinamis untuk sebuah field.

      Panggil beberapa fungsi ekspresi secara berurutan untuk mendapatkan nilai huruf kecil dari field pertama yang ada dan tetapkan nilainya ke field result.

      e_set("result", str_lower(v("ret", "return")))
    • Contoh 4: Tetapkan nilai berbeda untuk sebuah field.

      1. Tetapkan nilai untuk field event_type.

        e_set("event_type", "login event", "event_info", "login host")
      2. Jika nilai dari field ret adalah fail, tetapkan field event_type menjadi login failed event.

        e_if(e_search('ret==fail'), e_set("event_type", "login failed event" ))
    • Referensi

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

e_drop_fields

Fungsi e_drop_fields menghapus field log yang memenuhi kondisi tertentu.

  • Sintaksis

    e_drop_fields(key1, key2, ....,regex=False)
  • Parameter

    Parameter

    Tipe

    Diperlukan

    Deskripsi

    key

    String

    Ya

    Nama dari field log. Nilai dari parameter ini bisa berupa ekspresi reguler. Jika nama field sepenuhnya memenuhi kondisi yang ditentukan, field tersebut dihapus. Jika tidak, field tersebut dipertahankan. Untuk informasi lebih lanjut tentang ekspresi reguler, lihat Ekspresi reguler.

    Anda harus menentukan setidaknya satu field log.

    regex

    Boolean

    Tidak

    Jika Anda menetapkan parameter ini ke False, ekspresi reguler tidak digunakan untuk pencocokan. Nilai default: True.

  • Respons

    Log dari mana field dihapus dikembalikan.

  • Contoh

    Jika nilai dari field content adalah 123, hapus field content dan age.

    • Log mentah:

      age: 18
      content: 123
      name: twiss
    • Aturan transformasi:

      e_if(e_search("content==123"), e_drop_fields("content", "age",regex=True))
    • Hasil:

      name: twiss
  • Referensi

    Fungsi ini dapat digunakan bersama dengan fungsi lainnya. Untuk informasi lebih lanjut, lihat Mentransformasi Data JSON Kompleks.

e_keep_fields

Fungsi e_keep_fields mempertahankan field log yang memenuhi kondisi tertentu.

Catatan

Layanan Log Sederhana menyediakan meta field bawaan seperti __time__ dan __topic__. Jika Anda tidak mempertahankan field __time__ saat memanggil fungsi e_keep_fields, waktu log diatur ulang ke waktu sistem saat ini. Jika Anda tidak ingin mereset nilai dari meta field, Anda harus menambahkan meta field ke daftar dalam format F_TIME, F_META, F_TAGS, "f1", "f2". Untuk informasi lebih lanjut, lihat Pengenal Tetap.

  • Sintaksis

    e_keep_fields(key1, key2, ....,regex=False)
  • Parameter

    Parameter

    Tipe

    Diperlukan

    Deskripsi

    key

    String

    Ya

    Nama dari field log. Nilai dari parameter ini bisa berupa ekspresi reguler. Jika nama field sepenuhnya memenuhi kondisi yang ditentukan, field tersebut dipertahankan. Jika tidak, field tersebut dihapus.

    Anda harus menentukan setidaknya satu field log.

    regex

    Boolean

    Tidak

    Jika Anda menetapkan parameter ini ke False, ekspresi reguler tidak digunakan untuk pencocokan. Nilai default: True.

  • Respons

    Log di mana field dipertahankan dikembalikan.

  • Contoh

    Jika nilai dari field content adalah 123, pertahankan field content dan age.

    • Log mentah:

      age: 18
      content: 123
      name: twiss
    • Aturan transformasi:

      e_if(e_search("content==123"), e_keep_fields("content", "age"))
    • Hasil:

      age: 18
      content: 123

e_pack_fields

Fungsi e_pack_fields mengemas field log dan menetapkan field log sebagai nilai ke field baru.

  • Sintaksis

    e_pack_fields(output_fields,include=".*",exclude=None,drop_packed=True)
  • Parameter

    Parameter

    Tipe

    Diperlukan

    Deskripsi

    output_field

    String

    Ya

    Nama dari field output. Nilai dari field output berada dalam format JSON.

    include

    String

    Tidak

    Daftar putih. Field yang cocok dengan ekspresi reguler yang ditentukan dalam daftar putih akan dikemas. Nilai default: ".*", yang menunjukkan bahwa semua field dalam log dicocokkan dan dikemas. Untuk informasi lebih lanjut, lihat Ekspresi reguler.

    exclude

    String

    Tidak

    Daftar hitam. Field yang cocok dengan ekspresi reguler yang ditentukan dalam daftar hitam tidak akan dikemas. Nilai default: None, yang menunjukkan bahwa semua field dalam log tidak dievaluasi. Untuk informasi lebih lanjut, lihat Ekspresi reguler.

    drop_packed

    Boolean

    Tidak

    Menentukan apakah akan menghapus field mentah setelah field tersebut dikemas. Nilai valid:

    • True: Field mentah yang telah dikemas dihapus dalam hasil. Ini adalah nilai default.

    • False: Field mentah yang telah dikemas tidak dihapus dalam hasil.

  • Respons

    Log di mana field telah dikemas dikembalikan.

  • Contoh

    • Contoh 1: Kemas semua field log ke dalam field test. Secara default, field mentah yang telah dikemas dihapus dalam hasil.

      • Log mentah:

        test1:123
        test2:456
        test3:789
      • Aturan transformasi:

        e_pack_fields("test")
      • Hasil:

        test:{"test1": "123", "test2": "456", "test3": "789"}
    • Contoh 2: Kemas semua field log ke dalam field test. Field mentah yang telah dikemas tidak dihapus dalam hasil.

      • Log mentah:

        test1:123
        test2:456
        test3:789
      • Aturan transformasi:

        e_pack_fields("test",drop_packed=False)
      • Hasil:

        test:{"test1": "123", "test2": "456", "test3": "789"}
        test1:123
        test2:456
        test3:789
    • Contoh 3: Kemas field test dan abcd ke dalam field content. Field mentah yang telah dikemas tidak dihapus dalam hasil.

      • Log mentah:

        abcd@#%:123
        test:456
        abcd:789
      • Aturan transformasi:

        e_pack_fields("content", include="\w+", drop_packed=False)
      • Hasil:

        abcd:789
        abcd@#%:123
        content:{"test": "456", "abcd": "789"}
        test:456
    • Contoh 4: Kemas field log mentah yang tidak termasuk field test dan abcd ke dalam field content. Field mentah yang telah dikemas dihapus dalam hasil.

      • Log mentah:

        abcd@#%:123
        test:456
        abcd:789
      • Aturan transformasi:

        e_pack_fields("content", exclude="\w+", drop_packed=True)
      • Hasil:

        abcd:789
        content:{"abcd@#%": "123"}
        test:456

e_rename

Fungsi e_rename mengganti nama field log yang memenuhi kondisi tertentu.

  • Sintaksis

    e_rename("key1", "new key1", "key2", "new key2", ..., regex=False)
    Catatan

    Anda harus menentukan parameter key dan new key secara berpasangan. Jika new key sudah ada dalam log mentah, tidak ada operasi yang dilakukan.

  • Parameter

    Parameter

    Tipe

    Diperlukan

    Deskripsi

    key

    String

    Ya

    Nama dari field log. Nilai dari parameter ini bisa berupa ekspresi reguler. Jika nama field sepenuhnya memenuhi kondisi yang ditentukan, field tersebut diganti namanya. Untuk informasi lebih lanjut tentang ekspresi reguler, lihat Ekspresi reguler.

    Anda harus menentukan setidaknya satu field log.

    new key

    String

    Ya

    Nama baru dari field.

    regex

    Boolean

    Tidak

    Jika Anda menetapkan parameter ini ke False, ekspresi reguler tidak digunakan untuk pencocokan. Nilai default: True.

  • Respons

    Field yang telah diganti namanya dikembalikan.

  • Contoh

    • Contoh 1: Ganti nama field host menjadi client_host.

      • Log mentah:

        host: 1006
      • Aturan transformasi:

        e_rename("host","client_host")
      • Hasil:

        client_host: 1006
    • Contoh 2: Jangan ganti nama field log jika tidak ada field yang memenuhi kondisi yang ditentukan.

      • Log mentah:

        host: 1006
      • Aturan transformasi:

        e_rename("url","rename_url")
      • Hasil:

        host: 1006
    • Referensi

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