Skip to content

LogMonitor with named provider without GUID? #66

Description

This is a feature request to allow access to log equivalent to this

Get-WinEvent -ProviderName "My.Custom.Service.1.2.3"

I have a custom Windows service and I can use that PowerShell cmdlet to access the logs.

However, if I feed the LogMonitor with the following bit in my LogMonitorConfig.json:

{
  "type": "ETW",
  "eventFormatMultiLine": false,
  "providers": [
    {
      "providerName": "My.Custom.Service.1.2.3",
      "level": "Information"
    }
  ]
}

then it complains about the invalid provider:

[2022-07-29T14:24:36.000Z][LOGMONITOR] ERROR: Invalid providers.

I read the source code and I see it is probing every named provider for GUID

for (auto provider : Providers)
{
if (provider.ProviderGuidStr.empty())
{
if (!provider.ProviderName.empty())
{
wstring providerName(provider.ProviderName);
transform(
providerName.begin(), providerName.end(),
providerName.begin(),
towlower);
providersWithoutGuid[providerName] = (provider);
}
}
else
{
ValidProviders.push_back(provider);
}
}
//
// Return now if there aren't providers that need to obtain theirs GUID.
//
if (providersWithoutGuid.empty())
{
return status;
}

It would be nice to allow logs access by named providers only, without GUID.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions