Mengonsumsi Peristiwa (Log Peristiwa Windows)
Anda dapat menggunakan peristiwa dari saluran atau dari file log. Untuk mengonsumsi peristiwa, Anda dapat menggunakan semua peristiwa atau Anda dapat menentukan ekspresi JalurX yang mengidentifikasi peristiwa yang ingin Anda konsumsi. Untuk menentukan elemen dan atribut peristiwa yang dapat Anda gunakan dalam ekspresi JalurX, lihat Skema Peristiwa.
Log Peristiwa Windows mendukung subset JalurX 1.0. Untuk detail tentang batasan, lihat Batasan XPath 1.0.
Contoh berikut menunjukkan ekspresi JalurX sederhana.
// The following query selects all events from the channel or log file
XPath Query: *
// The following query selects all the LowOnMemory events from the channel or log file
XPath Query: *[UserData/LowOnMemory]
// The following query selects all events with a severity level of 1 (Critical) from the channel or log file
XPath Query: *[System/Level=1]
// The following query shows a compound expression that selects all events from the channel or log file
// where the printer's name is MyPrinter and severity level is 1.
XPath Query: *[UserData/*/PrinterName="MyPrinter" and System/Level=1]
// The following query selects all events from the channel or log file where the severity level is
// less than or equal to 3 and the event occurred in the last 24 hour period.
XPath Query: *[System[(Level <= 3) and TimeCreated[timediff(@SystemTime) <= 86400000]]]
Anda dapat menggunakan ekspresi JalurX secara langsung saat memanggil fungsi EvtQuery atau EvtSubscribe atau Anda dapat menggunakan kueri XML terstruktur yang berisi ekspresi JalurX. Untuk kueri sederhana yang mengkueri peristiwa dari satu sumber, menggunakan ekspresi JalurX baik-baik saja. Jika ekspresi JalurX adalah ekspresi gabungan yang berisi lebih dari 20 ekspresi atau Anda mengkueri peristiwa dari beberapa sumber, maka Anda harus menggunakan kueri XML terstruktur. Untuk detail tentang elemen kueri XML terstruktur, lihat Skema Kueri.
Kueri terstruktur mengidentifikasi sumber peristiwa dan satu atau beberapa pemilih atau supresor. Pemilih berisi ekspresi JalurX yang memilih peristiwa dari sumber dan supresor berisi ekspresi JalurX yang mencegah peristiwa dipilih. Anda dapat memilih peristiwa dari lebih dari satu sumber. Jika pemilih dan suppressor mengidentifikasi peristiwa yang sama, peristiwa tersebut tidak disertakan dalam hasilnya.
Berikut ini memperlihatkan kueri XML terstruktur yang menentukan sekumpulan pemilih dan supresor.
<QueryList>
<Query Id="0">
<Select Path="Application">
*[System[(Level <= 3) and
TimeCreated[timediff(@SystemTime) <= 86400000]]]
</Select>
<Suppress Path="Application">
*[System[(Level = 2)]]
</Suppress>
<Select Path="System">
*[System[(Level=1 or Level=2 or Level=3) and
TimeCreated[timediff(@SystemTime) <= 86400000]]]
</Select>
</Query>
</QueryList>
Kumpulan hasil dari kueri tidak berisi rekam jepret peristiwa pada saat kueri. Sebagai gantinya, kumpulan hasil menyertakan peristiwa pada saat kueri dan juga akan berisi semua peristiwa baru yang dimunculkan yang cocok dengan kriteria kueri saat Anda menghitung hasilnya.
Catatan
Urutan peristiwa dipertahankan untuk peristiwa yang ditulis oleh utas yang sama. Namun, dimungkinkan untuk peristiwa yang ditulis oleh utas terpisah pada prosesor yang berbeda dari beberapa komputer prosesor muncul secara tidak berurutan.
Untuk detail tentang mengonsumsi peristiwa, lihat topik berikut:
- Mengkueri untuk Peristiwa
- Berlangganan Peristiwa
- Peristiwa Penyajian
- Memformat Pesan Peristiwa
- Peristiwa Marka Buku
Alat pengguna akhir standar untuk mengkonsumsi peristiwa adalah:
- Pemantau Peristiwa
- Cmdlet Get-WinEvent Windows PowerShell
- WevtUtil
Batasan XPath 1.0
Log Peristiwa Windows mendukung subset JalurX 1.0. Pembatasan utama adalah bahwa hanya elemen XML yang mewakili peristiwa yang dapat dipilih oleh pemilih peristiwa. Kueri JalurX yang tidak memilih peristiwa tidak valid. Semua jalur pemilih yang valid dimulai dengan * atau "Peristiwa". Semua jalur lokasi beroperasi pada simpul peristiwa dan terdiri dari serangkaian langkah. Setiap langkah adalah struktur tiga bagian: sumbu, pengujian simpul, dan predikat. Untuk informasi selengkapnya tentang bagian-bagian ini dan tentang XPath 1.0, lihat Bahasa Jalur XML (JalurX). Log Peristiwa Windows menempatkan batasan berikut pada ekspresi:
- Sumbu: Hanya Sumbu Turunan (default) dan Atribut (dan sumbu "@") singkatannya yang didukung.
- Pengujian Simpul: Hanya nama node dan pengujian NCName yang didukung. Karakter "*", yang memilih karakter apa pun, didukung.
- Predikat: Ekspresi JalurX yang valid dapat diterima jika jalur lokasi sesuai dengan batasan berikut:
- Operator standar ATAU, AND, =, !=, <=, <, >=, >, dan tanda kurung didukung.
- Menghasilkan nilai string untuk nama simpul tidak didukung.
- Evaluasi dalam urutan terbalik tidak didukung.
- Set simpul tidak didukung.
- Cakupan namespace tidak didukung.
- Namespace, pemrosesan, dan simpul komentar tidak didukung.
- Ukuran konteks tidak didukung.
- Pengikatan variabel tidak didukung.
- Fungsi posisi, dan referensi array singkatnya, didukung (hanya pada simpul daun).
- Fungsi Band didukung. Fungsi melakukan bitwise AND untuk dua argumen angka bilangan bulat. Jika hasil bitwise AND bukan nol, fungsi mengevaluasi ke true; jika tidak, fungsi mengevaluasi ke false.
- Fungsi timediff didukung. Fungsi menghitung perbedaan antara argumen kedua dan argumen pertama. Salah satu argumen harus berupa angka harfiah. Argumen harus menggunakan representasi FILETIME. Hasilnya adalah jumlah milidetik antara dua kali. Hasilnya positif jika argumen kedua mewakili di lain waktu; jika tidak, itu negatif. Ketika argumen kedua tidak disediakan, waktu sistem saat ini digunakan.