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); }
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); }
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); } }