public List <FilteredLogEvent> FilterLogStream(string logGroupName, string message)
        {
            var result = Client.DescribeLogStreamsAsync(new DescribeLogStreamsRequest
            {
                Descending   = true,
                LogGroupName = logGroupName,
                OrderBy      = "LastEventTime"
            }).Result;

            var streamName = result.LogStreams[0].LogStreamName;

            var logFilterResponse = Client.FilterLogEventsAsync(new FilterLogEventsRequest
            {
                LogGroupName   = logGroupName,
                LogStreamNames = new List <string> {
                    streamName
                },
                FilterPattern = message
            }).Result;

            return(logFilterResponse.Events);
        }
Exemple #2
0
        public void MultiThreadBufferFullTest()
        {
            global::NLog.Logger logger;
            try
            {
                LogManager.Configuration = new XmlLoggingConfiguration("Regular.config");
            }
            catch (FileNotFoundException)
            {
                LogManager.Configuration = new XmlLoggingConfiguration("./test/AWS.Logger.NLog.Tests/Regular.config");
            }
            logger = LogManager.GetLogger("loggerMultiThreadBufferFull");
            var tasks       = new List <Task>();
            var streamNames = new List <string>();
            var count       = 200;
            var totcount    = 0;

            for (int i = 0; i < 2; i++)
            {
                tasks.Add(Task.Factory.StartNew(() => NLogThread(count, logger)));
                totcount = totcount + count;
            }
            Task.WaitAll(tasks.ToArray());

            string region       = "us-west-2";
            string logGroupName = "AWSNLogGroupMultiThreadBufferFullTest";

            Thread.Sleep(10000);
            AmazonCloudWatchLogsClient client = new AmazonCloudWatchLogsClient(
                Amazon.RegionEndpoint.GetBySystemName(region));

            DescribeLogStreamsResponse describeLogstreamsResponse = client.DescribeLogStreamsAsync(new DescribeLogStreamsRequest
            {
                Descending   = true,
                LogGroupName = logGroupName,
                OrderBy      = "LastEventTime"
            }).Result;


            List <string> logStreamNames = new List <string>();

            logStreamNames.Add(describeLogstreamsResponse.LogStreams[0].LogStreamName);
            FilterLogEventsResponse filterLogEventsResponse = client.FilterLogEventsAsync(new FilterLogEventsRequest
            {
                FilterPattern  = "maximum",
                LogGroupName   = logGroupName,
                LogStreamNames = logStreamNames
            }).Result;

            Assert.NotEmpty(filterLogEventsResponse.Events);
        }
        public void MultiThreadBufferFullTest()
        {
            ILog logger;

            XmlConfigurator.Configure(new System.IO.FileInfo("log4net.config"));
            logger = LogManager.GetLogger("MultiThreadBufferFullTest");

            var tasks    = new List <Task>();
            var count    = 200;
            var totcount = 0;

            for (int i = 0; i < 2; i++)
            {
                tasks.Add(Task.Factory.StartNew(() => Log4NetThread(count, logger)));
                totcount = totcount + count;
            }
            Task.WaitAll(tasks.ToArray(), 10000);

            Thread.Sleep(10000);
            string region       = "us-west-2";
            string logGroupName = "AWSLog4NetGroupMultiThreadBufferFullTest";

            AmazonCloudWatchLogsClient client = new AmazonCloudWatchLogsClient(
                Amazon.RegionEndpoint.GetBySystemName(region));

            DescribeLogStreamsResponse describeLogstreamsResponse = client.DescribeLogStreamsAsync(new DescribeLogStreamsRequest
            {
                Descending   = true,
                LogGroupName = logGroupName,
                OrderBy      = "LastEventTime"
            }).Result;

            List <string> logStreamNames = new List <string>();

            logStreamNames.Add(describeLogstreamsResponse.LogStreams[0].LogStreamName);
            FilterLogEventsResponse filterLogEventsResponse = client.FilterLogEventsAsync(new FilterLogEventsRequest
            {
                FilterPattern  = "maximum",
                LogGroupName   = logGroupName,
                LogStreamNames = logStreamNames
            }).Result;

            Assert.NotEmpty(filterLogEventsResponse.Events);
        }
        public void MultiThreadBufferFullTest()
        {
            var tasks       = new List <Task>();
            var streamNames = new List <string>();

            ILoggerMultiThreadTestSetup("multiThreadBufferFullTest.json");
            logger = ILoggerTest.LoggerSetup();
            var count    = 200;
            var totcount = 0;

            for (int i = 0; i < 2; i++)
            {
                tasks.Add(Task.Factory.StartNew(() => ILoggerThread(count)));
                totcount = totcount + count;
            }
            Task.WaitAll(tasks.ToArray(), 10000);

            //Sleep is introduced to give suffiecient time for the logstream to get posted on CloudWatchLogs
            Thread.Sleep(5000);
            string region       = ILoggerTest._configSection.Config.Region;
            string logGroupName = ILoggerTest._configSection.Config.LogGroup;

            AmazonCloudWatchLogsClient client = new AmazonCloudWatchLogsClient(
                Amazon.RegionEndpoint.GetBySystemName(region));

            DescribeLogStreamsResponse describeLogstreamsResponse = client.DescribeLogStreamsAsync(new DescribeLogStreamsRequest
            {
                Descending   = true,
                LogGroupName = logGroupName,
                OrderBy      = "LastEventTime"
            }).Result;

            List <string> logStreamNames = new List <string>();

            logStreamNames.Add(describeLogstreamsResponse.LogStreams[0].LogStreamName);
            FilterLogEventsResponse filterLogEventsResponse = client.FilterLogEventsAsync(new FilterLogEventsRequest
            {
                FilterPattern  = "maximum",
                LogGroupName   = logGroupName,
                LogStreamNames = logStreamNames
            }).Result;

            Assert.NotEmpty(filterLogEventsResponse.Events);
        }
Exemple #5
0
        public bool FilterPatternExists(string logGroupName, string filterPattern)
        {
            DescribeLogStreamsResponse describeLogstreamsResponse;

            try
            {
                describeLogstreamsResponse = Client.
                                             DescribeLogStreamsAsync(new DescribeLogStreamsRequest
                {
                    Descending   = true,
                    LogGroupName = logGroupName,
                    OrderBy      = "LastEventTime"
                }).Result;
            }
            catch (Exception) {
                return(false);
            }

            if (describeLogstreamsResponse.LogStreams.Count > 0)
            {
                List <string> logStreamNames = new List <string>();
                logStreamNames.Add(describeLogstreamsResponse.LogStreams[0].LogStreamName);
                FilterLogEventsResponse filterLogEventsResponse = Client.
                                                                  FilterLogEventsAsync(new FilterLogEventsRequest
                {
                    FilterPattern  = filterPattern,
                    LogGroupName   = logGroupName,
                    LogStreamNames = logStreamNames
                }).Result;

                return(filterLogEventsResponse.Events.Count > 0);
            }
            else
            {
                return(false);
            }
        }