Kā Rakstīt žurnālus

Satura rādītājs:

Kā Rakstīt žurnālus
Kā Rakstīt žurnālus

Video: Kā Rakstīt žurnālus

Video: Kā Rakstīt žurnālus
Video: Kāzu žurnāls Precos šoreiz raksta par neparasto | BalticWedding TV 2024, Maijs
Anonim

Mūsdienās lielākā daļa lietojumprogrammu un sistēmu lietojumprogrammu periodiski saglabā informāciju par sava darba procesu, kļūdām un kļūmēm īpašos žurnālos, kurus sauc par žurnāliem. Lielākā daļa vispārējas nozīmes operētājsistēmu nodrošina pakalpojumus, kas ļauj rakstīt žurnālus, izmantojot standarta programmēšanas saskarni.

Kā rakstīt žurnālus
Kā rakstīt žurnālus

Nepieciešams

  • - C sastādītājs;
  • - Windows platformas SDK;
  • - Izstrādāt paketi glibc.

Instrukcijas

1. solis

Pievienojiet atbalstu žurnālu rakstīšanai sistēmas žurnālā no lietojumprogrammas, kas paredzēta darbam Windows saimes operētājsistēmās.

Izmantojiet funkciju RegisterEventSource API, lai reģistrētu lietojumprogrammu kā notikumu avotu, funkciju ReportEvent, lai žurnālam pievienotu ierakstu, un funkciju DeregisterEventSource, lai aizvērtu RegisterEventSource atgriezto rokturi.

Lietojumprogrammas inicializācijas laikā ir lietderīgi izsaukt RegisterEventSource un visu laiku saglabāt atgriezto deskriptoru, lai ierakstus žurnālā varētu ievietot no dažādām programmas vietām. Vienkāršākais rakstīšanas uz Windows žurnālu piemērs varētu izskatīties šādi:

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

ja (hLog! = NULL)

{

ja (ReportEvent (hLog, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, "Ziņojuma teksts / 0", NULL))

{

// notikums tika veiksmīgi reģistrēts

}

DeregisterEventSource (hLog);

}

Plašāku informāciju par funkcijas ReportEvent semantiku var atrast MSDN vietnē https://msdn.microsoft.com/en-us/library/windows/desktop/aa363679%28v=vs.85%29.aspx. Turklāt jums ir jāievieto daži dati par lietojumprogrammas izpildāmo moduli sistēmas reģistrā un jāpievieno resursi noteiktā formātā pašam modulim vai trešās puses dinamiskai bibliotēkai. Lai iegūtu papildinformāciju par notikumu žurnāla pakalpojuma reģistra atslēgām, skatiet vietni

2. solis

Pieteikšanos ar Linux saderīgās operētājsistēmās parasti var veikt, izmantojot syslog dēmonu. Šim pakalpojumam ir lietojumprogrammas līmeņa saskarne funkciju kopuma formā, kuras deklarācijas tiek ievietotas syslog.h galvenes failā.

Izmantojiet openlog funkciju, lai izveidotu savienojumu ar syslog pakalpojumu no lietojumprogrammas vai bibliotēkas. Lai ziņojumus ievietotu žurnālā, izsauciet syslog vai vsyslog funkcijas. Pēc notikumu ierakstīšanas beigām vai pēc programmas darbības izbeigšanas izveidojiet savienojumu ar pakalpojumu, izsaucot funkciju closelog. Turklāt, izmantojot funkciju setlogmask, iestatījumus var konfigurēt, lai ignorētu zvanus, kas notikumu ierakstus pievieno ar noteiktu prioritāti. Ziņojumu rakstīšanas žurnālā piemērs varētu izskatīties šādi:

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

syslog (LOG_NOTICE, "MyApplication ir palaista ar PID% d", getuid ());

syslog (LOG_INFO, "Informācijas ziņojums!");

closelog ();

Lai iegūtu papildinformāciju par syslog API funkciju parametriem, skatiet libc informācijas dokumentāciju.

3. solis

Rakstiet žurnālus patvaļīgos failos, izmantojot savu notikumu noturības apakšsistēmas ieviešanu. Viens no vienkāršākajiem šīs problēmas risinājumiem ir izveidot vairākas funkcijas globālajā darbības jomā, no kurām viena informācijas pievienošanas režīmā atver failu ar noteiktu nosaukumu, otra aizver, bet trešā pievieno tam nodoto ziņojumu virkni kā parametrs šim failam. Konceptuāli šis risinājums atgādina syslog programmēšanas saskarni Linux.

Izmantojiet C standarta bibliotēkas funkcijas fopen un fclose, lai attiecīgi atvērtu un aizvērtu failu. Lai failam pievienotu informāciju, zvaniet uz fwrite. Varat arī izmantot platformai specifiskas funkcijas (piemēram, CreateFile operētājsistēmā Windows) un izmantoto ietvaru objektu metodes, kas iekopē funkcionalitāti darbam ar failiem.

Ieteicams: