【问题标题】:AWS CloudWatchLogs do not return logs in Descending order using DescribeLogStreamsRequestAWS CloudWatchLogs 不使用 DescribeLogStreamsRequest 按降序返回日志
【发布时间】:2023-01-22 07:23:21
【问题描述】:

我正在使用 C# AWS SDK 来检索 CloudWatch 登录(日期时间)下降顺序(最新-最先)。所以设置AmazonCloudWatchLogsClient如下:

AmazonCloudWatchLogsConfig config = new AmazonCloudWatchLogsConfig {
    RegionEndpoint = Amazon.RegionEndpoint.GetBySystemName("<aws-region>")
};
AmazonCloudWatchLogsClient _client = new AmazonCloudWatchLogsClient(config);
_client.DescribeLogStreamsAsync(new DescribeLogStreamsRequest {
    LogGroupName = "logGroup",
    OrderBy = "LastEventTime",
    Descending = true,
});

并设置云观看组和流如下:

_client.CreateLogGroupAsync(new CreateLogGroupRequest { LogGroupName = "logGroup" });
_client.CreateLogStreamAsync(new CreateLogStreamRequest {
    LogGroupName = "logGroup",
    LogStreamName = "logStream"
});

比检索云监视日志如下:

var request = new GetLogEventsRequest
{
    LogStreamName = "logStream",
    LogGroupName = "logGroup",
    StartTime = DateTime.UtcNow.AddDays(-1),
    EndTime = DateTime.UtcNow,
    Limit = 50,
    StartFromHead = false
};

var response = await GetLogEventsAsync(123, 456, 50, "000/f", "000/b");
var logs = response.Events;

logs一如既往地收到最早的, 不是最新优先.

请提出任何修复建议。

参考:https://docs.aws.amazon.com/sdkfornet/latest/apidocs/items/TCloudWatchLogsDescribeLogStreamsRequestNET45.html

【问题讨论】:

    标签: c# sdk amazon-cloudwatch


    【解决方案1】:

    Shakeel,我想知道您是否尝试过扩展方法 OrderByDescending?我能够通过使用它来实现它:

    returnValue.AddRange(logEventsResponse.Events.OrderByDescending(y => y.Timestamp).Select(x => new CloudWatchLogEvent { Message = x.Message, Timestamp = x.Timestamp.AddHours(-5), StreamName = stream.LogStreamName }));
    

    returnValue 的类型为List&lt;CloudWatchLogEvent&gt;,logEventsResponse 的类型为Task&lt;GetLogEventsResponse&gt;,CloudWatchLogEvent 是我创建的一个简单类:

    public class CloudWatchLogEvent
    {
        public string Message { get; set; }
        public DateTime Timestamp { get; set; }
        public string StreamName { get; set; }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      • 2018-09-22
      相关资源
      最近更新 更多