Cara Menulis Log

Daftar Isi:

Cara Menulis Log
Cara Menulis Log

Video: Cara Menulis Log

Video: Cara Menulis Log
Video: Cara ISI DECK LOG BOOK dengan BAIK dan BENAR || Deck Log Book, Part 1 2024, Mungkin
Anonim

Saat ini, sebagian besar aplikasi dan sistem aplikasi secara berkala menyimpan informasi tentang proses pekerjaan mereka, kesalahan dan kegagalan dalam log khusus yang disebut log. Sebagian besar sistem operasi tujuan umum menyediakan layanan yang memungkinkan Anda menulis log menggunakan antarmuka pemrograman standar.

Cara menulis log
Cara menulis log

Diperlukan

  • - Kompiler C;
  • - SDK Platform Windows;
  • - Kembangkan paket untuk glibc.

instruksi

Langkah 1

Tambahkan dukungan untuk menulis log ke log sistem dari aplikasi Anda yang dirancang untuk bekerja di bawah sistem operasi keluarga Windows.

Gunakan fungsi API RegisterEventSource untuk mendaftarkan aplikasi sebagai sumber peristiwa, fungsi ReportEvent untuk menambahkan entri ke log, dan fungsi DeregisterEventSource untuk menutup pegangan yang dikembalikan oleh RegisterEventSource.

Masuk akal untuk memanggil RegisterEventSource selama inisialisasi aplikasi dan menyimpan deskriptor yang dikembalikan sepanjang waktu, sehingga entri dalam log dapat ditempatkan dari tempat yang berbeda dalam program. Contoh paling sederhana untuk menulis ke log Windows mungkin terlihat seperti ini:

HANDLE hLog = RegisterEventSource (NULL, "MyApplicationName");

jika (hLog! = NULL)

{

jika (ReportEvent (hLog, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, "Teks pesan / 0", NULL))

{

// acara berhasil dicatat

}

DeregisterEventSource (hLog);

}

Rincian lebih lanjut tentang semantik fungsi ReportEvent dapat ditemukan di MSDN di https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679%28v=vs.85%29.aspx. Selain itu, Anda perlu memasukkan beberapa data tentang modul aplikasi yang dapat dieksekusi di registri sistem, dan menambahkan sumber daya dalam format tertentu ke modul itu sendiri atau perpustakaan dinamis pihak ketiga. Untuk informasi selengkapnya tentang kunci registri untuk layanan log peristiwa, lihat

Langkah 2

Masuk pada sistem operasi yang kompatibel dengan Linux biasanya dapat dilakukan dengan menggunakan daemon syslog. Layanan ini memiliki antarmuka tingkat aplikasi dalam bentuk serangkaian fungsi, yang deklarasinya ditempatkan di file header syslog.h.

Gunakan fungsi openlog untuk membuat koneksi ke layanan syslog dari aplikasi atau pustaka. Panggil fungsi syslog atau vsyslog untuk memasukkan pesan ke dalam log. Setelah peristiwa perekaman berakhir atau saat aplikasi keluar, tutup koneksi ke layanan dengan memanggil fungsi closelog. Selain itu, Anda dapat mengonfigurasi pengaturan untuk mengabaikan panggilan yang menambahkan catatan peristiwa dengan prioritas tertentu menggunakan fungsi setlogmask. Contoh penulisan pesan ke log mungkin terlihat seperti ini:

openlog("Aplikasi Saya", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);

syslog(LOG_NOTICE, "Aplikasi Saya diluncurkan dengan PID% d", getuid ());

syslog(LOG_INFO, "Pesan informasi!");

tutup log();

Untuk informasi selengkapnya tentang parameter fungsi syslog API, lihat dokumentasi info libc.

Langkah 3

Tulis log ke file arbitrer menggunakan implementasi Anda sendiri dari subsistem persistensi peristiwa. Salah satu solusi paling sederhana untuk masalah ini adalah membuat beberapa fungsi dalam lingkup global, salah satunya membuka file dengan nama tertentu dalam mode tambah informasi, yang kedua menutupnya, dan yang ketiga menambahkan string pesan yang diteruskan ke sana sebagai parameter untuk file ini. Secara konseptual, solusi ini menyerupai antarmuka pemrograman syslog di Linux.

Gunakan fungsi fopen dan fclose dari pustaka standar C untuk membuka dan menutup file, masing-masing. Panggil fwrite untuk menambahkan informasi ke file. Anda juga dapat menggunakan fungsi khusus platform (misalnya, CreateFile di Windows) dan metode objek kerangka kerja yang digunakan yang merangkum fungsionalitas bekerja dengan file.

Direkomendasikan: