Buat log peristiwa Anda sendiri di Windows

Seperti yang Anda ketahui, sebagian besar aplikasi "normal" menulis acara mereka ke Windows Event Log. Ini adalah tempat yang bagus untuk penyimpanan terpusat dan melihat peristiwa aplikasi, tetapi seringkali ketika menjadi perlu untuk mencatat peristiwa dari aplikasi tertentu dalam log ini, kita mungkin menemukan fakta bahwa karena jumlah besar dan detail peristiwa yang berlebihan, bekerja dengan log aplikasi Windows standar menjadi sangat tidak nyaman. Dalam hal ini, akan lebih mudah untuk membuat log peristiwa Anda sendiri untuk aplikasi ini, dan mengonfigurasi berbagai parameter untuk aplikasi ini, seperti ukuran log, filter, dll., Dan log Aplikasi standar dapat digunakan seperti biasa, tanpa menyumbatnya dengan informasi yang tidak perlu. Ada fitur di sistem operasi Windows yang memungkinkan Anda membuat log peristiwa Anda sendiri.

Pertama, buat file log baru. Ini dapat dilakukan dengan menggunakan registri. Jalankan editor registri regedit dan buka cabang:

HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ Eventlog

Klik kanan pada simpul Eventlog dan buat kunci baru (Baru> Kunci)

Nama kunci dalam kasus ini juga akan menjadi nama log baru. Secara default, log baru (file .evt) dibuat di sini:

C: \ WINDOWS \ System32 \ Config \ New Key # 1.evt

Anda dapat mengganti nama dengan mengubah parameter string di registri sesuai keinginan..

Selanjutnya, tambahkan Sumber acara untuk jurnal baru. Buat kunci Multi-String baru dengan nama "Sumber", tentukan nama semua aplikasi yang akan menggunakan log ini (setiap aplikasi dari baris baru) sebagai parameter.

Maka Anda perlu mentransfer asosiasi aplikasi Anda dari log Aplikasi standar ke log baru Anda. Perluas cabang "Aplikasi" yang terletak di:

HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ Eventlog \ Application

Dan salin semua cabang yang berhubungan dengan aplikasi yang Anda minati ke cabang registri baru dari jurnal baru:

HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ Eventlog \ CustomLog

Karena perintah salin / tempel di editor registri tidak berfungsi, Anda dapat membuatnya kembali secara manual (jika ada beberapa), atau Anda dapat mentransfer menggunakan prosedur ekspor / impor cabang registri dengan pengeditan manual file .reg secara manual. Pastikan bahwa setelah transfer Anda menghapus kunci registri aplikasi Anda dari cabang Aplikasi, jika tidak, Windows tidak akan mengerti bahwa Anda perlu menulis acara ke log baru. Jika Anda menggunakan sumber acara baru untuk log, Anda harus membuat parameter DWORD dengan nama CustomSource dan nilai 1:

Dalam contoh saya, saya membuat aplikasi .NET 2.0 saya sendiri, dan saya ingin menulis peristiwa ke log yang kami buat. Untuk melakukan ini, saya akan membuat kunci registri EventMessageFile baru dan menentukan path ke perpustakaan .NET 2.0 logging di dalamnya:

C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ EventLogMessages.dll

Maka Anda perlu me-restart Windows, dan setelah memuat sistem, Anda akan melihat log peristiwa baru di bagian Peraga Peristiwa. Jika karena alasan tertentu aplikasi Anda tidak menulis acara ke log baru, Anda dapat menguji operasinya secara manual, buka baris perintah dan buka direktori:

CD C: \ WINDOWS \ system32

Kemudian ketik:

eventcreate / l CustomLog / t Informasi / jadi Application1 / id 1 / d "Pesan uji"

Jika Anda melakukan semuanya dengan benar, sebuah jendela akan muncul yang menginformasikan bahwa acara tersebut berhasil direkam dalam log, atau pesan kesalahan dan alasan terjadinya.

Perbarui:

Pembaruan kecil untuk artikel dengan surat pembaca:

Petunjuk di atas untuk membuat jurnal Anda sendiri difokuskan pada sistem operasi server dari keluarga Microsoft. Cara yang lebih umum yang harus bekerja pada kebanyakan Windows adalah sebagai berikut (jalur dan kunci registri berbeda):

Kami membuat bagian baru dalam registri (nama bagian adalah nama log yang dibuat), jalan menuju yang dibuat akan seperti ini:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Eventlog \NewEventLog , di mana Anda perlu membuat kunci berikut:

  • "AutoBackupLogFiles" - ketik DWORD, apakah akan membuat cadangan jurnal atau tidak (0 - jangan buat)
  • "MaxSize" adalah jenis DWORD, ukuran log maksimum dalam byte, nilainya harus kelipatan 64Kb
  • "Retensi" - ketik DWORD, waktu retensi catatan jika jurnal meluap.
  • "File" - ketik REG_EXPAND_SZ, string yang berisi path ke log log pada hard drive, misalnya % SystemRoot% \ System32 \ config \NewEventLog.evt)
  • "Sumber" - ketik REG_MULTI_SZ, berikut adalah daftar sumber acara yang log-nya harus ada di log ini, masing-masing sumber dari baris baru