Cara Menulis Log

Isi kandungan:

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, November
Anonim

Hari ini, kebanyakan aplikasi dan aplikasi sistem secara berkala menyimpan maklumat mengenai proses kerja, kesalahan dan kegagalan mereka dalam log khas yang disebut log. Sebilangan besar sistem operasi tujuan umum menyediakan perkhidmatan yang membolehkan anda menulis log menggunakan antara muka pengaturcaraan standard.

Cara menulis log
Cara menulis log

Perlu

  • - Penyusun C;
  • - SDK Platform Windows;
  • - Kembangkan pakej untuk glibc.

Arahan

Langkah 1

Tambahkan sokongan untuk menulis log ke log sistem dari aplikasi anda yang dirancang untuk berfungsi di bawah sistem operasi keluarga Windows.

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

Adalah masuk akal untuk memanggil RegisterEventSource semasa inisialisasi aplikasi dan menyimpan deskriptor yang dikembalikan sepanjang masa, sehingga entri dalam log dapat ditempatkan dari tempat yang berlainan dalam program. Contoh menulis yang paling mudah ke log Windows mungkin seperti ini:

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

jika (hLog! = NULL)

{

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

{

// acara berjaya dicatat

}

DeregisterEventSource (hLog);

}

Maklumat lebih terperinci mengenai semantik fungsi ReportEvent boleh didapati di MSDN di https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679%28v=vs.85%29.aspx. Di samping itu, anda perlu memasukkan beberapa data mengenai modul yang dapat dilaksanakan aplikasi dalam registri sistem, dan menambahkan sumber dalam format tertentu ke modul itu sendiri atau perpustakaan dinamis pihak ketiga. Untuk maklumat lebih lanjut mengenai kunci pendaftaran untuk perkhidmatan log acara, lihat

Langkah 2

Log masuk pada sistem operasi yang serasi dengan Linux biasanya boleh dilakukan dengan menggunakan daemon syslog. Perkhidmatan ini mempunyai antara muka tingkat aplikasi dalam bentuk sekumpulan fungsi, deklarasi yang ditempatkan dalam file header syslog.h.

Gunakan fungsi openlog untuk membuat sambungan ke perkhidmatan syslog dari aplikasi atau perpustakaan. Panggil fungsi syslog atau vsyslog untuk memasukkan mesej ke dalam log. Setelah tamatnya rakaman peristiwa atau ketika aplikasi keluar, tutup sambungan ke perkhidmatan dengan memanggil fungsi closelog. Di samping itu, anda dapat mengkonfigurasi tetapan untuk mengabaikan panggilan yang menambahkan catatan acara dengan keutamaan tertentu menggunakan fungsi setlogmask. Contoh menulis mesej ke log mungkin kelihatan seperti ini:

openlog ("MyApplication", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);

syslog (LOG_NOTICE, "MyApplication dilancarkan dengan PID% d", getuid ());

syslog (LOG_INFO, "Mesej maklumat!");

penutup ();

Untuk maklumat lebih lanjut mengenai parameter fungsi API syslog, lihat dokumentasi info libc.

Langkah 3

Tulis log ke fail sewenang-wenang menggunakan pelaksanaan subsistem ketekunan acara anda sendiri. Salah satu penyelesaian paling mudah untuk masalah ini adalah membuat beberapa fungsi dalam ruang lingkup global, salah satunya membuka fail dengan nama tertentu dalam mod tambah maklumat, yang kedua menutupnya, dan yang ketiga menambahkan rentetan mesej yang disampaikan kepadanya sebagai parameter untuk fail ini. Secara konseptual, penyelesaian ini menyerupai antara muka pengaturcaraan syslog di Linux.

Gunakan fungsi fopen dan fclose perpustakaan standard C untuk masing-masing membuka dan menutup fail. Panggil fwrite untuk menambahkan maklumat ke fail. Anda juga dapat menggunakan fungsi khusus platform (misalnya, CreateFile di bawah Windows) dan kaedah objek kerangka yang digunakan yang merangkumi fungsi bekerja dengan fail.

Disyorkan: