private async Task SubscribeLogGroup(string logGroup)
        {
            var request = new PutSubscriptionFilterRequest
            {
                DestinationArn = _kinesisArn,
                LogGroupName   = logGroup,
                FilterName     = _filterName,
                FilterPattern  = _filterPattern,
                RoleArn        = _roleArn,
                Distribution   = "ByLogStream"
            };

            try
            {
                await _cloudWatchLogs.PutSubscriptionFilterAsync(request);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Failed to Subscribe [{logGroup}].");
                await Console.Error.WriteLineAsync(JsonConvert.SerializeObject(ex));

                await UpsertSubscriptionFilter(request);
            }
        }