From d482d702ede56dd24ae829d5474810bd91d900bb Mon Sep 17 00:00:00 2001 From: Gabriel Ramos Date: Fri, 20 Mar 2026 19:14:27 -0300 Subject: [PATCH 1/2] How to add a custom ILoggerProvider to a microservice --- docs/cli/guides/ms-logging.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/cli/guides/ms-logging.md b/docs/cli/guides/ms-logging.md index e28f826a3..fdb71325b 100644 --- a/docs/cli/guides/ms-logging.md +++ b/docs/cli/guides/ms-logging.md @@ -42,6 +42,27 @@ public void SampleLog() } ``` + ## Setting a custom logger + +To set a custom logger, you can pass a delegate to `config.AddLoggerProvider` inside an `OverrideConfig` call on `BeamServiceConfigBuilder`: + +```csharp + await BeamServer + .Create() + .IncludeRoutes(routePrefix: "") + .OverrideConfig(config => + { + config.AddLoggerProvider = builder => + { + builder.ClearProviders(); // remove any other providers added before this callback + builder.AddProvider(new MyCustomLogProvider()); // Add your own provider. This is a class that implements ILoggerProvider + } + }) + .RunForever(); +``` + +Please check the official dotnet documentation for more details on how to create a custom [LogProvider](https://learn.microsoft.com/pt-br/dotnet/api/microsoft.extensions.logging.iloggerprovider?view=net-10.0-pp&viewFallbackFrom=net-9.0-pp) + !!! info Local microservice logs will not appear in Portal unless the `BEAM_LOCAL_OTEL` environment variable is set. From 4ca3e6cb90dc7913d4850c4567375c4b82384362 Mon Sep 17 00:00:00 2001 From: gabrielbeamable <141041673+gabrielbeamable@users.noreply.github.com> Date: Tue, 24 Mar 2026 11:32:17 -0300 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: Allister MacLeod --- docs/cli/guides/ms-logging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cli/guides/ms-logging.md b/docs/cli/guides/ms-logging.md index fdb71325b..0b7401ae1 100644 --- a/docs/cli/guides/ms-logging.md +++ b/docs/cli/guides/ms-logging.md @@ -49,7 +49,7 @@ To set a custom logger, you can pass a delegate to `config.AddLoggerProvider` in ```csharp await BeamServer .Create() - .IncludeRoutes(routePrefix: "") + .IncludeRoutes() .OverrideConfig(config => { config.AddLoggerProvider = builder =>