Verwendung DescribeLogStreams mit einem AWS SDK oder CLI - CloudWatch Amazon-Protokolle

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwendung DescribeLogStreams mit einem AWS SDK oder CLI

Die folgenden Code-Beispiele zeigen, wie DescribeLogStreams verwendet wird.

CLI
AWS CLI

Der folgende Befehl zeigt alle Protokollstreams, die mit dem Präfix 2015 in der Protokollgruppe beginnenmy-logs:

aws logs describe-log-streams --log-group-name my-logs --log-stream-name-prefix 2015

Ausgabe:

{ "logStreams": [ { "creationTime": 1433189871774, "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:log-stream:20150531", "logStreamName": "20150531", "storedBytes": 0 }, { "creationTime": 1433189873898, "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:log-stream:20150601", "logStreamName": "20150601", "storedBytes": 0 } ] }
Java
SDK für Java 2.x
Anmerkung

Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel- einrichten und ausführen.

Sucht innerhalb einer angegebenen Protokollgruppe nach Protokollströmen, die einem bestimmten Präfix entsprechen.

/** * Before running this Java V2 code example, set up your development * environment, including your credentials. * <p> * For more information, see the following documentation topic: * <p> * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class CloudWatchLogsSearch { public static void main(String[] args) { final String usage = """ Usage: <logGroupName> <logStreamName> Where: logGroupName - The name of the log group (for example, WeathertopJavaContainerLogs). logStreamName - The name of the log stream (for example, weathertop-java-stream). pattern - the pattern to use (for example, INFO) """; if (args.length != 3) { System.out.print(usage); System.exit(1); } String logGroupName = args[0] ; String logStreamName = args[1] ; String pattern = args[2] ; CloudWatchLogsClient cwlClient = CloudWatchLogsClient.builder() .region(Region.US_EAST_1) .build(); searchLogStreamsAndFilterEvents(cwlClient, logGroupName, logStreamName, pattern); } /** * Searches for log streams with a specific prefix within a log group and filters log events based on a specified pattern. * * @param cwlClient the CloudWatchLogsClient used to interact with AWS CloudWatch Logs * @param logGroupName the name of the log group to search within * @param logStreamPrefix the prefix of the log streams to search for * @param pattern the pattern to filter log events by */ public static void searchLogStreamsAndFilterEvents(CloudWatchLogsClient cwlClient, String logGroupName, String logStreamPrefix, String pattern) { DescribeLogStreamsRequest describeLogStreamsRequest = DescribeLogStreamsRequest.builder() .logGroupName(logGroupName) .logStreamNamePrefix(logStreamPrefix) .build(); DescribeLogStreamsResponse describeLogStreamsResponse = cwlClient.describeLogStreams(describeLogStreamsRequest); List<LogStream> logStreams = describeLogStreamsResponse.logStreams(); for (LogStream logStream : logStreams) { String logStreamName = logStream.logStreamName(); System.out.println("Searching in log stream: " + logStreamName); FilterLogEventsRequest filterLogEventsRequest = FilterLogEventsRequest.builder() .logGroupName(logGroupName) .logStreamNames(logStreamName) .filterPattern(pattern) .build(); FilterLogEventsResponse filterLogEventsResponse = cwlClient.filterLogEvents(filterLogEventsRequest); for (FilteredLogEvent event : filterLogEventsResponse.events()) { System.out.println(event.message()); } System.out.println("--------------------------------------------------"); // Separator for better readability } } }

Druckt Metadaten über den neuesten Protokollstream in einer angegebenen Protokollgruppe.

/** * Before running this Java V2 code example, set up your development * environment, including your credentials. * <p> * For more information, see the following documentation topic: * <p> * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class CloudWatchLogQuery { public static void main(final String[] args) { final String usage = """ Usage: <logGroupName> Where: logGroupName - The name of the log group (for example, /aws/lambda/ChatAIHandler). """; if (args.length != 1) { System.out.print(usage); System.exit(1); } String logGroupName = "/aws/lambda/ChatAIHandler" ; //args[0]; CloudWatchLogsClient logsClient = CloudWatchLogsClient.builder() .region(Region.US_EAST_1) .build(); describeMostRecentLogStream(logsClient, logGroupName); } /** * Describes and prints metadata about the most recent log stream in the specified log group. * * @param logsClient the CloudWatchLogsClient used to interact with AWS CloudWatch Logs * @param logGroupName the name of the log group */ public static void describeMostRecentLogStream(CloudWatchLogsClient logsClient, String logGroupName) { DescribeLogStreamsRequest streamsRequest = DescribeLogStreamsRequest.builder() .logGroupName(logGroupName) .orderBy(OrderBy.LAST_EVENT_TIME) .descending(true) .limit(1) .build(); try { DescribeLogStreamsResponse streamsResponse = logsClient.describeLogStreams(streamsRequest); List<LogStream> logStreams = streamsResponse.logStreams(); if (logStreams.isEmpty()) { System.out.println("No log streams found for log group: " + logGroupName); return; } LogStream stream = logStreams.get(0); System.out.println("Most Recent Log Stream:"); System.out.println(" Name: " + stream.logStreamName()); System.out.println(" ARN: " + stream.arn()); System.out.println(" Creation Time: " + stream.creationTime()); System.out.println(" First Event Time: " + stream.firstEventTimestamp()); System.out.println(" Last Event Time: " + stream.lastEventTimestamp()); System.out.println(" Stored Bytes: " + stream.storedBytes()); System.out.println(" Upload Sequence Token: " + stream.uploadSequenceToken()); } catch (CloudWatchLogsException e) { System.err.println("Failed to describe log stream: " + e.awsErrorDetails().errorMessage()); } } }
  • Einzelheiten zur API finden Sie DescribeLogStreamsunter AWS SDK for Java 2.x API-Referenz.

Eine vollständige Liste der AWS SDK-Entwicklerhandbücher und Codebeispiele finden Sie unter CloudWatch Logs mit einem SDK verwenden AWS. Dieses Thema enthält auch Informationen zu den ersten Schritten und Details zu früheren SDK-Versionen.