Delen via


Een AutoLogger-sessie configureren en starten

De autoLogger-sessie voor gebeurtenistracering registreert gebeurtenissen die zich vroeg in het opstartproces van het besturingssysteem voordoen. Toepassingen en apparaatstuurprogramma's kunnen de AutoLogger-sessie gebruiken om traceringen vast te leggen voordat de gebruiker zich aanmeldt. Houd er rekening mee dat sommige apparaatstuurprogramma's, zoals schijfstuurprogramma's, niet worden geladen op het moment dat de AutoLogger-sessie wordt gestart.

De AutoLogger verschilt op de volgende manieren van de Global Logger:

  • U kunt een of meer AutoLogger-sessies opgeven (de Global Logger was één sessie waaraan iedereen gebeurtenissen heeft geregistreerd).
  • De AutoLogger verzendt een inschakelingsmelding naar de providers wanneer de sessie wordt gestart (de Global Logger heeft geen inschakelingsmelding naar de providers verzonden, dus de providers moesten vertrouwen op andere manieren om te weten of de Global Logger-sessie is gestart om logboekgebeurtenissen te starten).
  • De AutoLogger biedt geen ondersteuning voor logboekregistratie van NT Kernel Logger-gebeurtenissen (zie de EnableFlags lid van EVENT_TRACE_PROPERTIES). Als u NT Kernel Logger-gebeurtenissen wilt registreren, moet u de Global Logger-gebruiken.

Zie voor meer informatie over de globale logger-sessie Configureren en starten van de globale logger-sessie.

Notitie

ETW ondersteunt de AutoLogger op Windows Vista en hoger. Gebruik de Global Logger- op eerdere besturingssystemen.

U gebruikt het register om de AutoLogger-sessie te configureren. Voeg de volgende registersleutel toe als deze nog niet aanwezig is:

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Control
            \WMI
               \Autologger

Maak onder de Autologger sleutel een sleutel voor elke AutoLogger-sessie die u wilt configureren, zoals wordt weergegeven in het volgende voorbeeld.

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Control
            \WMI
               \Autologger
                  \Logger Session A
                  \Logger Session B
                  \Logger Session C

Maak voor elke sessie een sleutel voor elke provider die u wilt inschakelen voor de sessie. Gebruik de GUID van de provider als sleutel.

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Control
            \WMI
               \Autologger
                  \Logger Session A
                     \{ProviderGuid1}
                     \{ProviderGuid2}
                  \Logger Session B
                  \Logger Session C

In de volgende tabel worden de waarden beschreven die u voor elke AutoLogger-sessie kunt definiëren. U moet beheerdersbevoegdheden hebben om deze registerwaarden op te geven. De start en guid--waarde zijn de enige waarden die nodig zijn om de AutoLogger-sessie te starten; alle andere waarden hebben standaardinstellingen die worden gebruikt als de waarde niet aanwezig is in het register. Normaal gesproken moet u de standaardwaarden gebruiken. Als u een waarde opgeeft die ETW niet kan ondersteunen, overschrijft ETW de waarde.

Waarde Type Beschrijving
BufferSize REG_DWORD De grootte van elke buffer, in kilobytes. Moet kleiner zijn dan één megabyte. ETW gebruikt de grootte van het fysieke geheugen om deze waarde te berekenen.
KlokType REG_DWORD De timer die moet worden gebruikt bij het vastleggen van het tijdstempel voor elke gebeurtenis.
  • 1 = Prestatiemeteritemswaarde (hoge resolutie)
  • 2 = Systeemtimer
  • 3 = CPU-cyclusteller
Zie het element ClientContext van WNODE_HEADERvoor een beschrijving van elk kloktype.
De standaardwaarde is 1 (prestatiemeteritemwaarde) op Windows Vista en hoger. Vóór Windows Vista is de standaardwaarde 2 (systeemtimer).
DisableRealtimePersistence REG_DWORD Als u persistentie in realtime wilt uitschakelen, stelt u deze waarde in op 1. De standaardwaarde is 0 (ingeschakeld) voor realtimesessies.
Als persistentie in realtime is ingeschakeld, zullen realtimegebeurtenissen die niet zijn geleverd toen de computer werd afgesloten, behouden blijven. De gebeurtenissen worden vervolgens aan de consument geleverd wanneer de consument de volgende keer verbinding maakt met de sessie.
FileCounter REG_DWORD Stel deze waarde niet in of wijzig deze waarde niet. Deze waarde is het serienummer dat wordt gebruikt om de naam van het logboekbestand te verhogen als FileMax is opgegeven. Als de waarde ongeldig is, wordt uitgegaan van 1.
FileName REG_SZ Het volledig gekwalificeerde pad van het logboekbestand. Het pad naar dit bestand moet bestaan. Het logboekbestand is een opeenvolgend logboekbestand. Het pad is beperkt tot 1024 tekens.
Als FileName- niet is opgegeven, worden gebeurtenissen geschreven naar %SystemRoot%\System32\LogFiles\WMI< sessionname>.etl.
FileMax REG_DWORD Het maximum aantal exemplaren van het logboekbestand dat ETW maakt. Als het logboekbestand dat is opgegeven in FileName bestaat, voegt ETW de FileCounter waarde toe aan de bestandsnaam. Als de standaardnaam van het logboekbestand bijvoorbeeld wordt gebruikt, wordt het formulier %SystemRoot%\System32\LogFiles\WMI< sessionname>.etl. NNNN.
De eerste keer dat de computer wordt gestart, is de bestandsnaam <sessienaam>.etl.0001, de tweede keer dat de bestandsnaam is <sessienaam>.etl.0002, enzovoort. Als FileMax 3 is, stelt ETW bij het vierde opnieuw opstarten van de computer de teller opnieuw in op 1 en overschrijft <sessienaam>.etl.0001, als deze bestaat.
Het maximum aantal exemplaren van het logboekbestand dat wordt ondersteund, is 16.
Gebruik deze functie niet met de EVENT_TRACE_FILE_MODE_NEWFILE-modus van het logboekbestand.
FlushTimer REG_DWORD Hoe vaak, in seconden, de traceringsbuffers geforceerd worden leeggemaakt. De minimale spoeltijd is één seconde. Deze geforceerde doorspoeling is een aanvulling op de automatische doorspoeling die plaatsvindt wanneer een buffer vol is en wanneer de traceringssessie stopt.
Voor het geval van een realtime logboekregistratie betekent een waarde van nul (de standaardwaarde) dat de tijd voor leegmaken wordt ingesteld op 1 seconde. Een realtime logboekregistratie wordt ingesteld wanneer LogFileMode is ingesteld op EVENT_TRACE_REAL_TIME_MODE.
De standaardwaarde is 0. Buffers worden standaard alleen leeggemaakt wanneer ze vol zijn.
GUID- REG_SZ Een tekenreeks die een GUID bevat die de sessie uniek identificeert. Deze waarde is vereist.
LogFileMode REG_DWORD Geef een of meer logboekmodi op. Zie Logboekregistratiemodusconstantenvoor mogelijke waarden. De standaardwaarde is EVENT_TRACE_FILE_MODE_SEQUENTIAL. In plaats van naar een logboekbestand te schrijven, kunt u EVENT_TRACE_BUFFERING_MODE of EVENT_TRACE_REAL_TIME_MODEopgeven.
Als u EVENT_TRACE_BUFFERING_MODE opgeeft, worden de kosten voor het leegmaken van de inhoud van de sessie naar schijf vermeden wanneer het bestandssysteem beschikbaar wordt.
Houd er rekening mee dat als u EVENT_TRACE_BUFFERING_MODE gebruikt, het systeem de MaximumBuffers waarde negeert, omdat de buffergrootte het product is van MinimumBuffers en BufferSize.
AutoLogger-sessies ondersteunen de logboekmodus EVENT_TRACE_FILE_MODE_NEWFILE niet.
Als EVENT_TRACE_FILE_MODE_APPEND is opgegeven, moet BufferSize- expliciet worden opgegeven en moet hetzelfde zijn in zowel de logger als het bestand dat wordt toegevoegd.
MaxFileSize- REG_DWORD De maximale bestandsgrootte van het logboekbestand, in megabytes. De sessie wordt gesloten wanneer de maximale grootte is bereikt, tenzij u zich in de modus voor het kringlogboekbestand bevindt. Als u geen limiet wilt opgeven, stelt u de waarde in op 0. De standaardwaarde is 100 MB, indien niet ingesteld. Het gedrag dat optreedt wanneer de maximale bestandsgrootte wordt bereikt, is afhankelijk van de waarde van LogFileMode.
MaximumBuffers REG_DWORD Het maximum aantal buffers dat moet worden toegewezen. Normaal gesproken is deze waarde het minimumaantal buffers plus twintig. ETW gebruikt de buffergrootte en de grootte van het fysieke geheugen om deze waarde te berekenen. Deze waarde moet groter dan of gelijk zijn aan de waarde voor MinimumBuffers.
MinimumBuffers REG_DWORD Het minimale aantal buffers dat moet worden toegewezen bij het opstarten. Het minimale aantal buffers dat u kunt opgeven, is twee buffers per processor. Op één processorcomputer is het minimum aantal buffers bijvoorbeeld twee.
starten REG_DWORD Als u de AutoLogger-sessie wilt laten starten wanneer de computer de volgende keer opnieuw wordt opgestart, stelt u deze waarde in op 1; anders stelt u deze waarde in op 0.
status REG_DWORD De opstartstatus van de AutoLogger. Als de AutoLogger niet kan worden gestart, is de waarde van deze sleutel de juiste Win32-foutcode. Als de AutoLogger is gestart, is de waarde van deze sleutel ERROR_SUCCESS (0).
opstarten REG_DWORD Deze functie mag niet worden gebruikt buiten foutopsporingsscenario's.
Als deze registersleutel is ingesteld op 1, wordt het autologger eerder dan normaal gestart tijdens de initialisatie van de kernel, zodat deze gebeurtenissen kan vastleggen tijdens de initialisatie van veel belangrijke kernelsubsystemen. het inschakelen van deze optie heeft echter een negatieve invloed op opstarttijden en legt extra beperkingen op voor het autologger. Als deze functie is ingeschakeld, moet de GUID van de autologger-sessie worden ingevuld en werken veel andere instellingen voor autologger mogelijk niet.
Deze sleutel wordt ondersteund in Windows Server 2022 en hoger.

In de volgende tabel worden de waarden beschreven die u kunt definiëren voor elke provider die u wilt inschakelen voor uw sessie. U moet beheerdersbevoegdheden hebben om deze registerwaarden op te geven. Als u een waarde opgeeft die ETW niet kan ondersteunen, overschrijft ETW de waarde.

Waarde Type Beschrijving
Ingeschakeld REG_DWORD Bepaalt of de provider is ingeschakeld. Als u de provider wilt inschakelen, stelt u deze waarde in op 1. Als u de provider wilt uitschakelen, stelt u deze waarde in op 0. De standaardwaarde is 0.
EnableFlags REG_DWORD Door de provider gedefinieerde waarde die de klasse van gebeurtenissen aangeeft waarvoor de provider gebeurtenissen genereert. Zie de parameter EnableFlags van de functie EnableTrace voor meer informatie. Geef deze waardenaam op als de provider geen ondersteuning biedt voor MatchAnyKeyword- of MatchAllKeyword-.
EnableLevel REG_DWORD Door de provider gedefinieerde waarde die het detailniveau aangeeft dat in de gebeurtenis is opgenomen. U kunt deze waarde bijvoorbeeld gebruiken om het ernstniveau van de gebeurtenissen (informatieve, waarschuwing, fout) aan te geven die de provider genereert. Zie voor een lijst met vooraf gedefinieerde niveaus de parameter niveau van de functie EnableTraceEx.
EnableProperty REG_DWORD Gebruik deze waarde om een of meer van de volgende items in het logboekbestand op te nemen:
  • EVENT_ENABLE_PROPERTY_SID (0x00000001) = Neem in de uitgebreide gegevens de beveiligings-id (SID) van de gebruiker op.
  • EVENT_ENABLE_PROPERTY_TS_ID (0x00000002) = De terminalsessie-id opnemen in de uitgebreide gegevens.
  • EVENT_ENABLE_PROPERTY_STACK_TRACE (0x00000004) = Opnemen in de uitgebreide gegevens een aanroepstacktracering voor gebeurtenissen die zijn geschreven met behulp van EventWrite-.
  • EVENT_ENABLE_PROPERTY_IGNORE_KEYWORD_0 (0x00000010) = Filtert alle gebeurtenissen uit waarvoor geen niet-nul trefwoord is opgegeven.
  • EVENT_ENABLE_PROPERTY_PROVIDER_GROUP (0x00000020) = Geeft aan dat deze aanroep naar EnableTraceEx2- een providergroep moet inschakelen in plaats van een afzonderlijke gebeurtenisprovider.
  • EVENT_ENABLE_PROPERTY_PROCESS_START_KEY (0x00000080) = Neem de beginsleutel voor het proces op in de uitgebreide gegevens.
  • EVENT_ENABLE_PROPERTY_EVENT_KEY (0x00000100) = Neem de gebeurtenissleutel op in de uitgebreide gegevens.
  • EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE (0x00000200) = Filtert alle gebeurtenissen die zijn gemarkeerd als een InPrivate-gebeurtenis of afkomstig zijn van een proces dat is gemarkeerd als InPrivate.
Zie de EnableProperty- van de ENABLE_TRACE_PARAMETERS-structuur voor meer informatie over deze items.
ZoekElkTrefwoord REG_QWORD Bitmasker van trefwoorden die de categorie gebeurtenissen bepalen die de provider moet schrijven. De provider schrijft de gebeurtenis als een van de trefwoord-bits van de gebeurtenis overeenkomt met een van de bits die in dit masker zijn ingesteld. Als u wilt opgeven dat de provider alle gebeurtenissen schrijft, stelt u deze waarde in op nul. Zie voor een voorbeeld de sectie Opmerkingen van de functie EnableTraceEx.
MatchAllKeyword- REG_QWORD Deze bitmasker is optioneel. Dit masker beperkt verder de categorie van gebeurtenissen die de provider moet schrijven. Als het trefwoord van de gebeurtenis voldoet aan de voorwaarde MatchAnyKeyword, schrijft de provider de gebeurtenis alleen als alle bits in dit masker aanwezig zijn in het trefwoord van de gebeurtenis. Dit masker wordt niet gebruikt als MatchAnyKeyword nul is. Zie voor een voorbeeld de sectie Opmerkingen van de functie EnableTraceEx.

Nadat het register is gewijzigd, wordt de AutoLogger-sessie gestart wanneer de computer de volgende keer opnieuw wordt opgestart. De AutoLogger-sessie roept de EnableTraceEx- functie aan om de providers in te schakelen.

De AutoLogger-sessies verhogen de opstarttijd van het systeem en moeten spaarzaam worden gebruikt. Services die informatie willen vastleggen tijdens het opstartproces, moeten overwegen om controllerlogica aan zichzelf toe te voegen in plaats van de AutoLogger-sessie te gebruiken.

Als u een AutoLogger-sessie wilt stoppen, roept u de functie ControlTrace aan. De sessienaam die u aan de functie doorgeeft, is de naam van de registersleutel die u hebt gebruikt om de sessie in het register te definiëren.

Zie Een sessie voor gebeurtenistracering configureren en startenvoor meer informatie over het starten van een sessie voor gebeurtenistracering.

Zie Een privéloggersessie configureren en startenvoor meer informatie over het starten van een privéloggersessie.

Zie De NT Kernel Logger-sessie configureren en startenvoor meer informatie over het starten van een NT Kernel Logger-sessie.

een privélogboeksessie configureren en starten

Een SystemTraceProvider-sessie configureren en starten

een sessie voor gebeurtenistracering configureren en starten

NT Kernel Logger Session configureren en starten

EnableTraceEx2

ENABLE_TRACE_PARAMETERS

EVENT_FILTER_DESCRIPTOR

PAYLOAD_FILTER_PREDICATE

TdhAggregatePayloadFilters

TdhCreatePayloadFilter

een sessie voor gebeurtenistracering bijwerken