다음을 통해 공유


INF AddAutoLogger 및 UpdateAutoLogger 지시문

AddAutoLoggerUpdateAutoLogger 지시문은 INF DDInstall 내에서 사용됩니다. 이벤트 섹션. 운영 체제 부팅 프로세스 초기에 발생하는 이벤트를 기록하는 ETW( Windows용 이벤트 추적 ) AutoLogger 세션의 특성을 지정합니다. 이러한 지시문은 Windows 11 부터 지원됩니다.

[DDInstall.Events] 

AddAutoLogger=session-name,{SessionGUID},add-autologger-install-section 
UpdateAutoLogger=session-name,update-autologger-install-section 
... 

항목

session-name
추가할 AutoLogger 세션의 이름을 지정합니다. 이 이름은 컴퓨터의 AutoLogger 세션 집합 중에서 고유해야 합니다. 다른 회사의 세션 이름과 충돌하지 않도록 세션 이름에 회사 이름 또는 회사 이름의 약어를 포함하는 것이 좋습니다.

SessionGUID
AutoLogger 세션을 식별하는 GUID 값을 지정합니다. 폼의 명시적 GUID 값으로 표현하거나 INF 파일의 {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}Strings 섹션에서 에 정의된 {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn} %strkey% 토큰으로 표현할 수 있습니다.

add-autologger-install-section
AutoLogger 등록에 대한 정보가 포함된 INF 작성기 정의 섹션을 참조합니다. 자세한 내용은 다음 설명 섹션을 참조 하세요 .

update-autologger-install-section
기존 AutoLogger에 공급자를 추가하기 위한 정보가 포함된 INF 기록기 정의 섹션을 참조합니다. 자세한 내용은 다음 설명 섹션을 참조 하세요 .

설명

AutoLoggers에 대한 자세한 내용은 AutoLogger 세션 구성 및 시작을 참조하세요.

INF 작성기에서 만든 각 섹션 이름은 INF 파일 내에서 고유해야 하며 섹션 이름을 정의하기 위한 일반적인 규칙을 따라야 합니다. 이러한 규칙에 대한 자세한 내용은 INF 파일에 대한 일반 구문 규칙을 참조하세요.

AddAutoLogger 지시문은 INF 파일의 다른 곳에서 add-autologger-install-section 이름을 참조해야 합니다. 각 섹션의 형식은 다음과 같습니다.

[add-autologger-install-section] 

Start=<0 | 1> 
[BufferSize=buffer-size] 
[ClockType=clock-type] 
[DisableRealtimePersistence= <0 | 1>] 
[FileName=path-to-file] 
[FileMax=file-max]
[FlushTimer=flush-timer] 
[LogFileMode=log-file-mode] 
[MaxFileSize=max-file-size] 
[MaximumBuffers=max-buffers] 
[MinimumBuffers=min-buffers] 

(AddAutoLoggerProvider={ProviderGUID},autologger-provider-install-section) 
… 

add-autologger-install-section시작을 제공해야 합니다. 필요에 따라 각각 별도의 줄에 AddAutoLoggerProvider를 사용하여 AutoLogger에 대해 하나 이상의 AutoLogger 공급자를 지정합니다. INF 파일의 AutoLogger 공급자에 대한 자세한 내용은 아래 AutoLogger 공급자 추가를 참조하세요 .

UpdateAutoLogger 지시문은 INF 파일의 다른 곳에서 명명된 update-autologger-install-section을 참조해야 합니다. 이러한 각 섹션의 형식은 다음과 같습니다.

[update-autologger-install-section] 

(AddAutoLoggerProvider={ProviderGUID},autologger-provider-install-section) 
… 

update-autologger-install-sectionAddAutoLoggerProvider를 사용하여 하나 이상의 AutoLogger 공급자를 각각 별도의 줄에 지정할 수 있습니다. INF 파일의 AutoLogger 공급자에 대한 자세한 내용은 아래 AutoLogger 공급자 추가를 참조하세요 .

Add-AutoLogger-Install-Section 항목 및 값

시작=0 | 1
다음에 컴퓨터를 다시 시작할 때 AutoLogger가 시작될지 여부를 지정합니다. AutoLogger를 시작하려면 이 값을 1로 설정하고, 그렇지 않으면 이 값을 0으로 설정합니다.

BufferSize=buffer-size
필요에 따라 각 버퍼의 크기(킬로바이트)를 지정합니다. BufferSize 는 1MB 미만이어야 합니다. ETW는 실제 메모리 크기를 사용하여 설정되지 않은 경우 이 값을 계산합니다.

ClockType=clock-type
필요에 따라 10진수 또는 다음 목록에 표시된 대로 16진수 표기법으로 표현된 다음 숫자 값을 사용하여 각 이벤트에 대한 타임스탬프를 로깅할 때 사용할 타이머를 지정합니다. 생략하면 기본값은 0x1 (성능 카운터 값)입니다.

0x1 (성능 카운터 값)

0x2 (시스템 타이머)

0x3 (CPU 주기 카운터)

각 클록 유형에 대한 설명은 WNODE_HEADER ClientContext 멤버를 참조하세요.

DisableRealtimePersistence=0 | 1
필요에 따라 값을 1로 설정하여 실시간 지속성을 사용하지 않도록 설정할 수 있습니다. 기본값은 0(사용)입니다. 실시간 지속성을 사용하도록 설정하면 컴퓨터가 종료될 때까지 배달되지 않은 실시간 이벤트가 유지됩니다. 그러면 다음에 소비자가 세션에 연결할 때 이벤트가 소비자에게 전달됩니다.

파일=file-name
필요에 따라 로그 파일의 정규화된 경로를 지정합니다. 경로가 없으면 AutoLogger가 처음 시작될 때 최상의 작업 생성이 있습니다. FileName의 길이는 1024자로 제한됩니다. 파일은 순차적 로그 파일입니다. 기본 파일 경로는 %DriverData%\<SessionName.etl>입니다.

FileMax=file-max
필요에 따라 ETW에서 만드는 로그 파일의 최대 인스턴스 수를 지정합니다. 최대 파일 수가 만들어지면 ETW는 첫 번째 파일이 있는 경우 덮어씁니다. 지원되는 로그 파일의 최대 인스턴스 수는 16개입니다. 이 기능은 EVENT_TRACE_FILE_MODE_NEWLINE LogFileMode와 함께 사용하지 마세요.

FlushTimer=flush-timer
필요에 따라 추적 버퍼가 강제로 플러시되는 빈도(초)를 지정합니다. 최소 플러시 시간은 1초입니다. 기본값은 0입니다. 기본적으로 버퍼는 가득 찬 경우에만 플러시됩니다.

LogFileMode=log-file-mode
필요에 따라 하나 이상의 로그 모드를 지정합니다. 가능한 값은 로깅 모드 상수를 참조하세요. 기본값은 0x1 (EVENT_TRACE_FILE_MODE_SEQUENTIAL)입니다.

MaxFileSize=max-file-size
필요에 따라 로그 파일의 최대 파일 크기(MB)를 지정합니다. LogFileMode에 EVENT_TRACE_FILE_MODE_CIRCULAR 지정하지 않으면 최대 크기에 도달하면 세션이 닫힙니다. 제한을 지정하지 않으면 값을 0으로 설정합니다. 기본값은 100mb입니다. 최대 파일 크기에 도달할 때 발생하는 동작은 LogFileMode 값에 따라 달라집니다.

MaximumBuffers=최대 버퍼
필요에 따라 할당할 최대 버퍼 수(일반적으로 최소 버퍼 수와 20개)를 지정합니다. 이 값은 MinimumBuffers 값보다 크거나 같아야 합니다.

MinimumBuffers=최소 버퍼
필요에 따라 시작할 때 할당할 최소 버퍼 수를 지정합니다. 지정할 수 있는 최소 버퍼 수는 프로세서당 두 개의 버퍼입니다.

AddAutoLoggerProvider={ProviderGUID},autologger-provider-install-section
필요에 따라 INF 파일의 다른 위치에서 INF-writer 정의 autologger-provider-install-section을 참조하는 하위 지시문이 있는 공급자를 지정합니다. 자세한 내용은 다음 AutoLogger 공급자 추가 섹션을 참조하세요 .

AutoLogger 공급자 추가

add-autologger-install-sectionupdate-autologger-install-section 섹션에서 AddAutoLoggerProvider 지시문을 사용하여 세션에서 사용하도록 설정할 공급자를 지정할 수 있습니다.

ProviderGUID는 AutoLogger 공급자를 식별하는 GUID 값이어야 합니다. {nnnnn-nn-nn} 형식의 명시적 GUID 값으로 표현하거나 %strkey로 표현할 수 있습니다. INF 파일의 문자열 섹션에서 {nnnn-nnnn-nnnn-nnnn-nnnn-nn}에 정의된% 토큰입니다.

AddAutoLoggerProvider 하위 지시문은 파일의 다른 곳에서 autologger-provider-install-섹션 도 참조해야 합니다. 이러한 각 섹션의 형식은 다음과 같습니다.

[autologger-provider-install-section] 

[Enabled=<0 | 1>] 
[EnableFlags=enable-flags] 
[EnableLevel=enable-level] 
[EnablePropety=enable-property] 
[MatchAnyKeyword=match-any-keyword] 
[MatchAllKeyword=match-all-keyword] 

AutoLogger-Provider-Install-Section 항목 및 값

사용=0 | 1
필요에 따라 공급자를 사용할 수 있는지 여부를 제공합니다. 공급자를 사용하도록 설정하려면 이 값을 1로 설정합니다. 사용하지 않도록 설정하려면 값을 0으로 설정합니다. 기본값은 0입니다.

EnableFlags=enable-flags
필요에 따라 공급자가 이벤트를 생성하는 이벤트의 클래스를 지정합니다. 자세한 내용은 EnableTraceEx 함수의 EnableFlags 매개 변수를 참조하세요. 공급자가 MatchAnyKeyword 또는 MatchAllKeyword를 지원하지 않는 경우 이 값 이름을 지정 합니다.

EnableLevel=enable-level
필요에 따라 이벤트에 포함된 세부 정보 수준을 제공합니다. 미리 정의된 수준 목록은 EnableTraceEx 함수의 Level 매개 변수를 참조하세요.

EnableProperty=enable-property
필요에 따라 로그 파일에 다음 항목 중 하나 이상을 포함합니다.

0x00000001 (EVENT_ENABLE_PROPERTY_SID) = 확장 데이터에 사용자의 SID(보안 식별자)를 포함합니다.

0x00000002 (EVENT_ENABLE_PROPERTY_TS_ID) = 확장 데이터에 터미널 세션 식별자를 포함합니다.

0x00000004 (EVENT_ENABLE_PROPERTY_STACK_TRACE) = 확장 데이터에 EventWrite를 사용하여 작성된 이벤트에 대한 호출 스택 추적을 포함합니다.

0x00000010(EVENT_ENABLE_PROPERTY_IGNORE_KEYWORD_0) = 0이 아닌 키워드(keyword) 지정되지 않은 모든 이벤트를 필터링합니다.

0x00000020 (EVENT_ENABLE_PROPERTY_PROVIDER_GROUP) = EnableTraceEx2 에 대한 이 호출은 개별 이벤트 공급자가 아닌 공급자 그룹을 사용하도록 설정해야 했음을 나타냅니다.

0x00000080 (EVENT_ENABLE_PROPERTY_PROCESS_START_KEY) = 확장 데이터에 프로세스 시작 키를 포함합니다.

0x00000100 (EVENT_ENABLE_PROPERTY_EVENT_KEY) = 확장 데이터에 이벤트 키를 포함합니다.

0x00000200 (EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE) = InPrivate 이벤트로 표시되거나 InPrivate로 표시된 프로세스에서 발생한 모든 이벤트를 필터링합니다.

MatchAnyKeyword=match-any-키워드(keyword)
필요에 따라 공급자가 작성하려는 이벤트의 범주를 결정하는 키워드의 비트 마스크를 제공합니다. 이벤트의 키워드(keyword) 비트가 이 마스크에 설정된 비트와 일치하는 경우 공급자는 이벤트를 씁니다. 공급자가 모든 이벤트를 작성하도록 지정하려면 이 값을 0으로 설정합니다. 예를 들어 EnableTraceEx 함수의 주의 섹션을 참조하세요.

MatchAllKeyword=match-all-키워드(keyword)
필요에 따라 공급자가 작성하려는 이벤트의 범주를 제한합니다. 이벤트의 키워드(keyword) MatchAnyKeyword 조건을 충족하는 경우 공급자는 이 마스크의 모든 비트가 이벤트의 키워드(keyword) 있는 경우에만 이벤트를 작성합니다. MatchAnyKeyword가 0인 경우 이 마스크는 사용되지 않습니다. 예를 들어 EnableTraceEx 함수의 주의 섹션을 참조하세요.

예제

[Contoso_Add_AutoLogger_Inst] 
Start = 1 
FileName = %%DriverData%%\Contoso\AutoLoggerLogFile.etl  
AddAutoLoggerProvider = {4b8b1947-ae4d-54e2-826a-1aee78ef05b2}, Contoso_Provider_1_Inst

[Contoso_Update_AutoLogger_Inst] 
AddAutoLoggerProvider= {a55d5a23-1a5b-580a-2be5-d7188f43fae1}, Contoso_Provider_2_Inst

[Contoso_Provider_1_Inst] 
Enabled = 1
EnableProperty = 0x00000001

[Contoso_Provider_2_Inst] 
Enabled = 1 

레거시 호환성

AddAutoLogger 및 UpdateAutoLogger 지시문은 Windows 11 부터 지원됩니다. 하위 OS에서 AutoLogger를 구성하려면 AddReg 지시문을 사용합니다.

[Contoso_AutoLogger_AddReg] 
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\<autologger-session-name>,Start,0x00010001,1 
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\<autologger-session-name>,GUID,,{autologger-guid} 
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\<autologger-session-name>\{autologger-provider-guid},Enabled,0x00010001,1 

참고 항목

DDInstall. 이벤트