Last active
March 21, 2024 16:57
-
-
Save nenoNaninu/8924913be917c3048242ec670a4c64bd to your computer and use it in GitHub Desktop.
HttpMessageHandlerActivityOvserver.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Diagnostics; | |
using Microsoft.Extensions.Logging; | |
namespace MyService.Diagnostics; | |
class HttpMessageHandlerActivityOvserver : IObserver<DiagnosticListener> | |
{ | |
private readonly ILogger<HttpMessageHandlerActivityOvserver> _logger; | |
public HttpMessageHandlerActivityOvserver(ILoggerFactory loggerFactory) | |
{ | |
_logger = loggerFactory.CreateLogger<HttpMessageHandlerActivityOvserver>(); | |
} | |
public void OnNext(DiagnosticListener listener) | |
{ | |
if (listener.Name == "HttpHandlerDiagnosticListener") | |
{ | |
listener.Subscribe(new CoreOvserver(_logger)); | |
} | |
} | |
public void OnCompleted() | |
{ | |
} | |
public void OnError(Exception error) | |
{ | |
} | |
private class CoreOvserver : IObserver<KeyValuePair<string, object?>> | |
{ | |
private readonly ILogger<HttpMessageHandlerActivityOvserver> _logger; | |
public CoreOvserver(ILogger<HttpMessageHandlerActivityOvserver> logger) | |
{ | |
_logger = logger; | |
} | |
public void OnNext(KeyValuePair<string, object?> keyValuePair) | |
{ | |
_logger.LogInformation("Received activity event from HttpMessageHandler. Event name is {EventName}.", keyValuePair.Key); | |
} | |
public void OnCompleted() | |
{ | |
} | |
public void OnError(Exception error) | |
{ | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment