私が無知なだけかもしれませんが、C# には System.Diagnostics.Tracing.EventSource を使用した優れた機能がいくつかあり、新しいイベント ソースを非常に簡単に作成できます。これらのログを取り込み後に処理できるようにする、この便利な API を中心にいくつかの機能を構築しました。
ただし、これはすべてpowershellに移行されており、機能させようとしています。dll を介して EventSource サブクラスの現在の実装を使用すると、すべてが期待どおりに機能します。PowerShell だけで新しい EventSource サブクラスを作成しようとすると、イベントが表示されなくなります。
私はグーグルを徹底的に調査しましたが、これが標準的なアプローチではないことが明らかになりました. (コーディングのとても便利なチャンクなので驚くべきことです)誰かが私が間違っているかもしれないことを助けたり教えたりできますか?
class TestEventSource2 : System.Diagnostics.Tracing.EventSource
{
static [TestEventSource2] $Log = [TestEventSource2]::New()
static [string] $LogName = "its a name"
[void] WriteTestEvent() {
Write-Information "WriteTestEvent"
WriteEvent(1,"Hello world from a powershell test event.")
}
}
$loglog = [TestEventSource2]::Log
$loglog.WriteTestEvent()