Files
Sentinel/Azure.Endpoints/ResourceGroup/ActivityLogReader.cs
2024-10-13 16:35:33 -05:00

37 lines
1.1 KiB
C#

using Azure.ResourceManager;
using Microsoft.Extensions.Logging;
namespace ProperDI.Azure.Endpoints.ResourceGroup.LogLooker;
public interface IActivityLogReader
{
Task Scan(CancellationToken cancellationToken);
}
public class ActivityLogReader(
ILogger<ActivityLogReader> logger,
ArmClient armClient)
: IActivityLogReader
{
private readonly ILogger<ActivityLogReader> _logger = logger ?? throw new ArgumentNullException(nameof(logger));
private readonly ArmClient _armClient = armClient ?? throw new ArgumentNullException(nameof(armClient));
public async Task Scan(CancellationToken cancellationToken)
{
try
{
_logger.LogInformation("Scanning for resources");
var resp = await _armClient.GetDefaultSubscriptionAsync(cancellationToken);
_logger.LogInformation("Found default subscription {sub}", resp.Data.DisplayName);
}
catch (TaskCanceledException)
{
_logger.LogWarning("Task canceled");
}
catch (System.Exception ex)
{
_logger.LogError(ex, "Http request failed");
throw;
}
}
}