Günlüklər Necə Yazılır

Mündəricat:

Günlüklər Necə Yazılır
Günlüklər Necə Yazılır

Video: Günlüklər Necə Yazılır

Video: Günlüklər Necə Yazılır
Video: Pərdə arxası #2 - Fahişə həyatı - uşaqlar baxmasın 2024, Dekabr
Anonim

Bu gün əksər tətbiqetmə və sistem tətbiqetmələri işləmə prosesi, səhvlər və arızalar haqqında məlumatları jurnal adlanan xüsusi jurnallarda vaxtaşırı saxlayır. Əksər ümumi təyinatlı əməliyyat sistemləri standart bir proqramlaşdırma interfeysi istifadə edərək qeydlər yazmağa imkan verən xidmətlər təqdim edir.

Günlüklər necə yazılır
Günlüklər necə yazılır

Zəruri

  • - C tərtibçisi;
  • - Windows Platforması SDK;
  • - Glibc üçün paket hazırlayın.

Təlimat

Addım 1

Tətbiqinizdən Windows ailənin əməliyyat sistemləri altında işləmək üçün hazırlanmış sistem jurnalına qeydlər yazmaq üçün dəstək əlavə edin.

Tətbiqi hadisə mənbəyi kimi qeyd etmək üçün RegisterEventSource API funksiyasından, jurnala giriş əlavə etmək üçün ReportEvent funksiyasından və RegisterEventSource tərəfindən qaytarılmış sapı bağlamaq üçün DeregisterEventSource funksiyasından istifadə edin.

Tətbiqin başlanğıclanması zamanı RegistEventSource-a zəng etmək və geri qaytarılan təsviri hər zaman saxlamaq, məntəqədəki girişləri proqramın müxtəlif yerlərindən yerləşdirmək mantiqidir. Windows jurnalına yazmağın ən sadə nümunəsi belə görünə bilər:

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

əgər (hLog! = NULL)

{

əgər (ReportEvent (hLog, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, "Mesaj mətni / 0", NULL))

{

// hadisə uğurla qeyd edildi

}

DeregisterEventSource (hLog);

}

ReportEvent funksiyasının semantikası haqqında daha ətraflı məlumatı MSDN-də https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679%28v=vs.85%29.aspx. Bundan əlavə, tətbiqin yürütülə bilən modulu haqqında bəzi məlumatları sistem qeydinə qoymalı və müəyyən bir formatda resursları modulun özünə və ya üçüncü tərəfin dinamik kitabxanasına əlavə etməlisiniz. Tədbir qeyd xidməti üçün qeyd açarları haqqında daha çox məlumat üçün

Addım 2

Linux uyğun əməliyyat sistemlərinə giriş ümumiyyətlə syslog daemonundan istifadə etməklə edilə bilər. Bu xidmət, bəyanatları syslog.h başlıq sənədinə yerləşdirilmiş bir sıra funksiya şəklində bir tətbiq səviyyəsində bir interfeysə malikdir.

Bir tətbiqdən və ya kitabxanadan syslog xidmətinə bir əlaqə yaratmaq üçün openlog funksiyasından istifadə edin. Mesajları jurnala qoymaq üçün syslog və ya vsyslog funksiyalarını axtarın. Hadisələrin qeydinin bitməsindən və ya tətbiq bitdikdən sonra, closelog funksiyasını çağıraraq xidmətlə əlaqəni bağlayın. Bundan əlavə, setlogmask funksiyasından istifadə edərək müəyyən bir prioritetli hadisə qeydləri əlavə edən zəngləri görməməzlikdən gəlmək üçün parametrləri konfiqurasiya edə bilərsiniz. Mesajların jurnala yazılması nümunəsi belə görünə bilər:

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

syslog (LOG_NOTICE, "MyApplication PID% d ilə başladıldı", getuid ());

syslog (LOG_INFO, "Məlumat mesajı!");

closelog ();

Syslog API funksiyalarının parametrləri haqqında daha çox məlumat üçün libc info sənədlərinə baxın.

Addım 3

Hadisənin davamlılığı alt sistemini öz tətbiqinizdən istifadə edərək özbaşına sənədlərə qeydlər yazın. Bu problemin ən sadə həll yollarından biri qlobal miqyasda bir neçə funksiya yaratmaqdır, bunlardan biri əlavə məlumat rejimində müəyyən bir adla bir fayl açar, ikincisi onu bağlayır, üçüncüsü isə ona ötürülən bir mesaj sətirini əlavə edir. bu fayla bir parametr. Konseptual olaraq bu həll Linuxdakı syslog proqramlaşdırma interfeysinə bənzəyir.

Bir faylı açmaq və bağlamaq üçün C standart kitabxanasının fopen və fclose funksiyalarından istifadə edin. Fayla məlumat əlavə etmək üçün fwrite-ə zəng edin. Platformaya xas funksiyaları (məsələn, Windows altında CreateFile) və fayllarla işləmək funksiyasını əhatə edən istifadə olunan çərçivə obyektlərinin metodlarından da istifadə edə bilərsiniz.

Tövsiyə: