はじめに
ETWでイベントログ出力したいけどサンプルコードがC#ばかりでVB.netでどう書いたらいいかわからないという人向け。
この記事の内容は以下の環境でテストしています。
Windows 10 Pro
Visual Studio Community 2017
.Net Framework 4.7
サンプルコード
こちらの記事に記述されているC#のサンプルコードを使用させていただきました。
急にEventSourceクラスを使ってEvent Tracing for Windows経由でイベントログにログを書くことになった人向けのチュートリアル
面倒くさがらずにコード以外の手順等を尊守すればイベントログに無事出力されます。
がんばって!
Module1.vb
Imports System.Diagnostics.Tracing
Module Module1
Sub Main()
SampleETW.MyEventSource.Log.Critical("大変なことになりました。")
Console.WriteLine("イベントログを確認して下さい(Enterキーで終了)")
Console.ReadLine()
End Sub
End Module
Namespace SampleETW
<EventSource(Name:="AwesomeService")>
Friend NotInheritable Class MyEventSource
Inherits EventSource
Public Shared Log As MyEventSource = New MyEventSource()
<[Event](1, Level:=EventLevel.Critical, Message:="{0}", Channel:=EventChannel.Admin)>
Public Sub Critical(message As String)
MyBase.WriteEvent(1, If(message, ""))
End Sub
End Class
End Namespace