例14: 複数のプロバイダーを使用したトレース セッションの開始
次のコマンドは、2 つのトレース プロバイダーとのトレース セッションを開始します。
tracelog -start MyTraces -guid 2guids.guid -f mytraces.etl
このコマンドは標準の tracelog -start コマンドのように見えますが、 -guid パラメーター 2guids.guid で指定されたファイルには、次の例のように 2 つのプロバイダー GUID (各行に 1 つ) が含まれています。
1540ff4c-3fd7-4bba-9938-1d1bf31573a7
dab01d4d-2d48-477d-b1c3-daad0ce6f06b
このコマンドを送信すると、Tracelog は 2 つのプロバイダーとの 1 つのトレース セッションを開始し、両方のプロバイダーを有効にします。
プロバイダーは、トレース バッファーとイベント トレース ログ (.etl) ファイルを共有します。 各プロバイダーからのトレース メッセージは、トレース ログに散在しています。 コマンドで指定されたフラグとレベルは、トレース セッション内のすべてのプロバイダーに適用されます。
両方のトレース プロバイダーが有効になっていることを確認するには、次のコマンドに示すように tracelog -enumguid コマンドを使用します。
tracelog -enumguid
これに対して、Tracelog は ETW に登録されているプロバイダーの一覧を表示し、そのうちの 2 つが有効になっていることを示します。 有効なプロバイダーは太字で表示されます。
c:\Tracelog>tracelog -enumguid
## Guid Enabled LoggerId Level Flags
------------------------------------------------------------
1046d4b1-fce5-48bc-8def-fd33196af19a FALSE 0 0 0
4a8aaa94-cfc4-46a7-8e4e-17bc45608f0a FALSE 0 0 0
196e57d9-49c0-4b3b-ac3a-a8a93ada1938 FALSE 0 0 0
1540ff4c-3fd7-4bba-9938-1d1bf31573a7 TRUE 2 0 0
f12b1984-4c42-11d3-ab7b-00c04f68fcdc FALSE 0 0 0
1fbecc45-c060-4e7c-8a0e-0dbd6116181b FALSE 0 0 0
94a984ef-f525-4bf1-be3c-ef374056a592 FALSE 0 0 0
3121cf5d-c5e6-4f37-be86-57083590c333 FALSE 0 0 0
fc4b0d39-e8be-4a83-a32f-c0c7c4f61ee4 FALSE 0 0 0
fc570986-5967-4641-a6f9-05291bce66c5 FALSE 0 0 0
39a7b5e0-be85-47fc-b9f5-593a659abac1 FALSE 0 0 0
dab01d4d-2d48-477d-b1c3-daad0ce6f06b TRUE 2 0 0k
bca7bd7f-b0bf-4051-99f4-03cfe79664c1 FALSE 0 0 0
d58c126f-b309-11d1-969e-0000f875a5bc FALSE 0 0 0
d58c126e-b309-11d1-969e-0000f875a5bc FALSE 0 0 0
58db8e03-0537-45cb-b29b-597f6cbebbfe FALSE 0 0 0
27246e9d-b4df-4f20-b969-736fa49ff6ff FALSE 0 0 0
セッション内のトレース プロバイダーごとに異なるフラグとレベルを指定するには、次のコマンドに示すように、プロバイダーごとに個別の tracelog -enable コマンドを使用します。
tracelog -enable MyTraces -guid #1540ff4c-3fd7-4bba-9938-1d1bf31573a7 -flag 2 -level 1
tracelog -enable MyTraces -guid #dab01d4d-2d48-477d-b1c3-daad0ce6f06b -flag 3 -level ffff