მომხმარებლის კომპიუტერში უკვე გაშვებული პროგრამული უზრუნველყოფის მუშაობაში გაუმართაობის დიაგნოზის ერთ-ერთი მთავარი გზაა ღონისძიებათა ჟურნალების - ჟურნალების შენარჩუნება. როგორც წესი, ისინი აფიქსირებენ ინფორმაციას გაშვების შესახებ, ასევე მნიშვნელოვან ინფორმაციას პროცესის მდგომარეობისა და სისტემის გარემოს შესახებ კრიტიკული უკმარისობის შემთხვევაში. ჟურნალების შექმნა შეგიძლიათ როგორც თქვენი საკუთარი საშუალებით, ისე ოპერაციული სისტემების სპეციალური სერვისების გამოყენებით.
Ეს აუცილებელია
- - თარჯიმანი გამოყენებული პროგრამირების ენიდან;
- - შესაძლებელია Windows Platform SDK;
- - შესაძლოა glibc– ის განვითარების პაკეტი.
ინსტრუქციები
Ნაბიჯი 1
გაანალიზეთ გამოყენების პირობები და შეადგინეთ მოთხოვნები განვითარებული ქვესისტემისთვის, კომპონენტისთვის ან ბიბლიოთეკის მიმართ, რომელიც შექმნის ჟურნალებს. უპასუხეთ კითხვებს, თუ რომელი პლატფორმის ან პლატფორმების ქვეშ უნდა იმუშაოს, რა იქნება მისი API.
ნაბიჯი 2
გამოვლენილი ფუნქციონალური მახასიათებლებისა და მოწოდებული API– ს შესაბამისად, შექმენით ხე ქვესისტემის შაბლონი. დაიწყეთ მისი ფუნქციონირების განხორციელება.
ნაბიჯი 3
ხე-ტყის შესვლის უმარტივესი ვარიანტია ფაილების დამოუკიდებლად შექმნა აპლიკაციის კონფიგურაციით განსაზღვრულ ადგილას და შემდეგ მათ ჩაწეროთ მონაცემები ნებისმიერი ფორმატით. გამოიყენეთ C სტანდარტული ბიბლიოთეკის ფუნქციები (fopen, fclose, fwrite), C ++ სტანდარტული ბიბლიოთეკის ნაკადის ობიექტები (ofstream), გამოყენებული ჩარჩო კლასები (როგორიცაა CFile, QFile) ან ოპერაციული სისტემის API ფუნქციები (CreateFile, WriteFile on Windows).
ნაბიჯი 4
განახორციელეთ სისტემაში შესვლა syslog API– ს გამოყენებით UNIX– ის თავსებადი ოპერაციულ სისტემებზე. Syslog API ფუნქციები დეკლარირებულია syslog.h სათაურის ფაილში. დააკავშირეთ იგი საჭირო ადგილას თქვენი პროექტის საწყისი კოდიდან.
ნაბიჯი 5
დაუკავშირდით syslog სერვისს openlog ფუნქციის ზარის გამოყენებით. როგორც პარამეტრი, მიუთითეთ სტრიქონი სტრიქონზე, რომელიც შეიცავს პროგრამის ან კომპონენტის იდენტიფიკატორს, რომელიც დაწერს, ვარიანტის დროშებს და მოვლენების ნიღაბს, რომლებიც ჟურნალს გადაეცემა. გამოიყენეთ ზარები syslog და vsyslog ფუნქციებში, რომ ჩანაწერები შეავსოთ ჟურნალში. დარეკეთ დახურვის ფუნქციაზე, რომ გაწყვიტოთ მომსახურება. Syslog კოდის მარტივი მაგალითი შეიძლება იყოს: openlog ("პრეფიქსი", LOG_NDELAY | LOG_CONS | LOG_PID, LOG_LOCAL1); syslog (LOG_INFO, "% s", "ინფორმაცია"); syslog (LOG_NOTICE, "% s", "ცნობა")); closelog (); აზრი აქვს syslog– ს დაუკავშირდეს პროგრამის ინიციალიზაციისას და გამორთვა გათიშვისას.
ნაბიჯი 6
Windows ოპერაციულ სისტემებზე გამოიყენეთ EventLog API სისტემის ჩანაწერებში ჩანაწერების დასამატებლად. დარეკეთ RegisterEventSource- ზე, რომ მიიღოთ ჟურნალის აღწერილი მითითებულ მანქანაზე. გამოიყენეთ ეს სახელური ReportEvent ფუნქციის გამოძახებისას, რომელიც წერს ჟურნალში. დასრულებისთანავე დარეკეთ DeregisterEventSource– ზე, რომ დაასრულოთ კავშირი და გაათავისუფლოთ RegisterEventSource– ის მიერ გამოყოფილი რესურსები. EventLog- თან მუშაობის უმარტივესი მაგალითი შეიძლება იყოს: HANDLE h =:: RegisterEventSource (NULL, "AnySource"); ASSERT (h! = NULL);:: ReportEvent (h, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 3, 0, "Text1Text2Text3", NULL);:: DeregisterEventSource (h); როგორც syslog, აზრი აქვს დარეკოთ RegisterEventSource დასაწყისში და DeregisterEventSource პროგრამის გამორთვისას.