Bagikan melalui


Panduan Pengelogan

Log peristiwa menyimpan catatan peristiwa signifikan atas nama sistem dan aplikasi yang berjalan pada sistem. Karena fungsi pengelogan adalah tujuan umum, Anda harus memutuskan informasi apa yang sesuai untuk dicatat. Umumnya, Anda hanya boleh mencatat informasi yang dapat berguna dalam mendiagnosis masalah perangkat keras atau perangkat lunak. Pengelogan peristiwa tidak dimaksudkan untuk digunakan sebagai alat pelacakan.

Memilih Peristiwa untuk Dicatat

Berikut ini adalah contoh kasus di mana pengelogan peristiwa dapat membantu:

  • Masalah sumber daya. Mencatat peristiwa Peringatan ketika alokasi memori gagal dapat membantu menunjukkan penyebab situasi memori rendah.
  • Masalah perangkat keras. Jika driver perangkat mengalami batas waktu pengontrol disk, kegagalan daya di port paralel, atau kesalahan data dari jaringan atau kartu seri, driver perangkat dapat mencatat informasi tentang peristiwa ini untuk membantu administrator sistem mendiagnosis masalah perangkat keras.
  • Sektor buruk. Jika driver disk mengalami sektor yang buruk, mungkin dapat membaca dari atau menulis ke sektor setelah mencoba kembali operasi, tetapi sektor akan menjadi buruk pada akhirnya. Jika driver disk dapat dilanjutkan, itu harus mencatat peristiwa Peringatan; jika tidak, itu harus mencatat peristiwa Kesalahan. Jika driver sistem file menemukan sejumlah besar sektor buruk dan memperbaikinya, peristiwa Peringatan pengelogan mungkin membantu administrator menentukan bahwa disk mungkin akan gagal.
  • Peristiwa informasi. Aplikasi server (seperti server database) merekam pengguna yang masuk, membuka database, atau memulai transfer file. Server juga dapat mencatat peristiwa lain seperti kesalahan (tidak dapat mengakses file, proses host terputus, dan sebagainya), kerusakan database, atau apakah transfer file berhasil.

Menulis Pesan

Pesan harus masuk akal bagi administrator dan pengguna yang mencoba memecahkan masalah. Pesan harus berisi semua informasi yang diperlukan untuk memahami apa yang menyebabkan masalah dan cara memperbaikinya.

Hindari menulis pesan kriptik seperti "Paket driver yang diterima dari subsistem I/O tidak valid. Datanya adalah paketnya." Pesan yang lebih baik akan menunjukkan bahwa driver yang dimaksud berfungsi dengan baik, tetapi mencatat paket yang salah diformat. Ini bisa terus mengatakan bahwa versi Unicode dari driver diperlukan untuk memperbaiki masalah. Untuk informasi selengkapnya tentang menulis pesan kesalahan yang baik, lihat Panduan Pesan Kesalahan.

Jangan gunakan tab atau koma dalam teks pesan, karena log peristiwa dapat disimpan sebagai file teks yang dipisahkan koma atau tab. Banyak organisasi mengimpor file ini ke dalam database, dan karakter pemformatan tambahan akan memerlukan manipulasi manual.

Saat menggunakan nama UNC, atau tautan lain yang berisi spasi, sertakan nama dalam tanda kurung sudut. Misalnya, <\\sharename\servername>. Anda dapat menulis URL ke akhir pesan yang mengarahkan pengguna ke materi bantuan terkait. URL harus berupa nama host DNS yang sepenuhnya memenuhi syarat. Misalnya, Anda dapat menambahkan teks berikut ke pesan Anda: "Untuk informasi tambahan tentang pesan ini, silakan kunjungi situs dukungan kami di https://www.microsoft.com/Support/ProdRedirect/ContentSearch.asp." Tautan akan mengarah ke halaman ASP yang mengalihkan pengguna ke konten yang berkaitan dengan pesan kesalahan. Ini akan mengurai parameter tambahan (diteruskan saat URL diklik) untuk menentukan tempat untuk mengalihkan pengguna.

Argumen yang diteruskan ke fungsi ReportEvent ditambahkan ke URL sebagai berikut:

strHTTPQuery += L"?EvtSrc=" + _strEscapedSource;
strHTTPQuery += L"&EvtCat=" + _strEscapedCategory;
strHTTPQuery += L"&EvtID=" + _strEscapedEventID;
strHTTPQuery += L"&EvtCatID=" + _strEscapedCategoryID;
strHTTPQuery += L"&EvtType=" + _strEscapedType;
strHTTPQuery += L"&EvtTypeID=" + _strEscapedTypeID;
strHTTPQuery += L"&EvtRptTime=" + _strEscapedDateAndTime;
strHTTPQuery += L"&EvtTZBias=" + _strEscapedTimeZoneBias;

Jika nama perusahaan, nama produk, versi produk, nama file, dan versi file dari header DLL pesan untuk sumber peristiwa valid, mereka juga ditambahkan ke URL:

ADD_VER_STR(L"CoName",   _strEscapedCompanyName);
ADD_VER_STR(L"ProdName", _strEscapedProductName);
ADD_VER_STR(L"ProdVer",  _strEscapedProductVersion);
ADD_VER_STR(L"FileName", _strEscapedFileName);
ADD_VER_STR(L"FileVer",  _strEscapedFileVersion);

Mengurangi Overhead

Pengelogan peristiwa menggunakan sumber daya seperti ruang disk dan waktu prosesor. Jumlah ruang disk yang diperlukan log peristiwa dan overhead untuk aplikasi yang mencatat peristiwa bergantung pada berapa banyak informasi yang Anda pilih untuk dicatat. Inilah sebabnya mengapa penting untuk mencatat hanya informasi penting. Ada baiknya juga untuk menempatkan panggilan pengelogan peristiwa di jalur kesalahan dalam kode daripada di jalur kode utama, yang akan mengurangi performa.

Jumlah ruang disk yang diperlukan untuk setiap rekaman log peristiwa mencakup anggota struktur EVENTLOGRECORD. Ini adalah struktur panjang variabel; string dan data biner disimpan mengikuti struktur.