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.
Verwenden Sie GetLogEventsmit einem AWS SDK oder CLI
Die folgenden Code-Beispiele zeigen, wie GetLogEvents verwendet wird.
Beispiele für Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Im folgenden Codebeispiel können Sie diese Aktion im Kontext sehen:
- CLI
-
- AWS CLI
-
Der folgende Befehl ruft Protokollereignisse aus einem Protokollstream mit dem Namen 20150601 in der Protokollgruppe my-logs ab:
aws logs get-log-events --log-group-name my-logs --log-stream-name 20150601
Ausgabe:
{
"nextForwardToken": "f/31961209122447488583055879464742346735121166569214640130",
"events": [
{
"ingestionTime": 1433190494190,
"timestamp": 1433190184356,
"message": "Example Event 1"
},
{
"ingestionTime": 1433190516679,
"timestamp": 1433190184356,
"message": "Example Event 1"
},
{
"ingestionTime": 1433190494190,
"timestamp": 1433190184358,
"message": "Example Event 2"
}
],
"nextBackwardToken": "b/31961209122358285602261756944988674324553373268216709120"
}
- Java
-
- SDK für Java 2.x
-
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.
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException;
import software.amazon.awssdk.services.cloudwatchlogs.CloudWatchLogsClient;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogStreamsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogStreamsResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.GetLogEventsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.GetLogEventsResponse;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class GetLogEvents {
public static void main(String[] args) {
final String usage = """
Usage:
<logGroupName> <logStreamName>
Where:
logGroupName - The name of the log group (for example, myloggroup).
logStreamName - The name of the log stream (for example, mystream).
""";
// if (args.length != 2) {
// System.out.print(usage);
// System.exit(1);
// }
String logGroupName = "WeathertopJavaContainerLogs" ; //args[0];
String logStreamName = "weathertop-java-stream" ; //args[1];
Region region = Region.US_EAST_1 ;
CloudWatchLogsClient cloudWatchLogsClient = CloudWatchLogsClient.builder()
.region(region)
.build();
getCWLogEvents(cloudWatchLogsClient, logGroupName, logStreamName);
cloudWatchLogsClient.close();
}
public static void getCWLogEvents(CloudWatchLogsClient cloudWatchLogsClient,
String logGroupName,
String logStreamPrefix) {
try {
// First, find the exact log stream name
DescribeLogStreamsRequest describeRequest = DescribeLogStreamsRequest.builder()
.logGroupName(logGroupName)
.logStreamNamePrefix(logStreamPrefix)
.limit(1) // get the first matching stream
.build();
DescribeLogStreamsResponse describeResponse = cloudWatchLogsClient.describeLogStreams(describeRequest);
if (describeResponse.logStreams().isEmpty()) {
System.out.println("No matching log streams found for prefix: " + logStreamPrefix);
return;
}
String exactLogStreamName = describeResponse.logStreams().get(0).logStreamName();
System.out.println("Using exact log stream: " + exactLogStreamName);
long startTime = Instant.now().minus(7, ChronoUnit.DAYS).toEpochMilli();
long endTime = Instant.now().toEpochMilli();
GetLogEventsRequest getLogEventsRequest = GetLogEventsRequest.builder()
.logGroupName(logGroupName)
.logStreamName(exactLogStreamName) // <-- exact name, not prefix
.startTime(startTime)
.endTime(endTime)
.startFromHead(true)
.build();
GetLogEventsResponse response = cloudWatchLogsClient.getLogEvents(getLogEventsRequest);
if (response.events().isEmpty()) {
System.out.println("No log events found in the past 7 days.");
} else {
response.events().forEach(e -> System.out.println(e.message()));
}
} catch (CloudWatchException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
Eine vollständige Liste der AWS SDK-Entwicklerhandbücher und Codebeispiele finden Sie unterVerwenden von CloudWatch Logs mit einem AWS SDK. Dieses Thema enthält auch Informationen zu den ersten Schritten und Details zu früheren SDK-Versionen.