Gibt es in Java eine Methode, um zu überprüfen, ob eine bestimmte Protokollgruppe und ein Protokolldatenstrom vorhanden sind, bevor Protokollereignisse von der Protokollgruppe abgerufen werden?Wie kann ich überprüfen, ob eine Cloudwatch-Protokollgruppe und ein Protokolldatenstrom vorhanden sind?
2
A
Antwort
1
Pseudocode: Bestätigen, dass eine Protokollstrom der Log-Gruppe
- Build-describeLogStreamsRequest vorhanden ist: auf dem Konstruktor
- Pass in Ihren angegebenen Log-Gruppennamen oder auf der
withLogGroupName
Setter Anfrage erhältlich. - Geben Sie den Namen des Protokolldatenstroms in die
withLogStreamNamePrefix
Setter-Datei ein.
- Pass in Ihren angegebenen Log-Gruppennamen oder auf der
- Anruf describeLogStreams.
- Überprüfen Sie die resultierenden Protokolldatenströme auf dem Objekt DescribeLogStreamsResult. Wenn die Liste nicht leer ist, können Sie mit diesem Stream weiterarbeiten.
Java: Überprüfen Sie, dass ein Log-Stream des Log-Gruppe existiert (Anmerkung: ungetestet)
AWSLogsClient logs = new AWSLogsClient();
DescribeLogStreamsRequest req = new DescribeLogStreamsRequest("myLogGroupName")
.withLogStreamNamePrefix("myLogStreamName");
DescribeLogStreamsResult res = logs.describeLogStreams(req);
if(res != null && res.getLogStreams() != null && !res.getLogStreams().isEmpty())
{
// Log Stream exists, do work here
}
0
In Wirklichkeit um einen Anruf zu AWSLogsClient#describeLogStreams
mit einem logGroupName
, die nicht generiert existiert eine ResourceNotFoundException
. Aus diesem Grund sollten Sie überprüfen nach:
- Abwesenheit von
ResourceNotFoundException
. - Existenz eines einzigen Eintrags in
DescribeLogStreamsResult#getLogStreams
mit derlogStreamName
zur Verfügung gestellt.
-Code-Schnipsel eines Verfahrens, das das tun:
private boolean doesLogStreamExist() {
DescribeLogStreamsRequest request = new DescribeLogStreamsRequest()
.withLogGroupName(logGroupName)
.withLogStreamNamePrefix(logStreamName);
try {
return client.describeLogStreams(request).getLogStreams()
.stream()
.anyMatch(it -> it.getLogStreamName().equals(logStreamName));
} catch (ResourceNotFoundException e) {
// log group does not exist
return false;
}
}
Verwandte Themen
- 1. Überprüfen, ob Daten vorhanden sind
- 2. Überprüfen, ob Elemente des Arrays vorhanden sind
- 3. überprüfen, ob Profildaten auf Profilaktualisierung vorhanden sind
- 4. Wie kann ich überprüfen, ob einige Daten vorhanden sind und einen booleschen Wert mit SQLAlchemy zurückgeben
- 5. Wie kann ich überprüfen, ob Int in Array vorhanden ist?
- 6. jQuery: Überprüfen, ob ein Bild vorhanden ist
- 7. Überprüfen, ob ein Commit vorhanden ist
- 8. Wie kann ich wissen, ob aktive Threads vorhanden sind?
- 9. Überprüfen, ob ein bestimmter Datenattributwert vorhanden ist
- 10. Überprüfen, ob eine Ressourcendatei vorhanden ist
- 11. Überprüfen, ob eine Eigenschaft vorhanden ist. Groovy
- 12. Überprüfen, ob eine Zugangstabelle vorhanden ist
- 13. MySQL: überprüfen, ob Daten in Abfrage vorhanden sind
- 14. Überprüfen Sie, ob Daten in SQL Server vorhanden sind
- 15. Wie kann ich überprüfen, ob ein Objekt eine Schnittstelle entspricht
- 16. Überprüfen, ob .gz-Dateien in einem Verzeichnis vorhanden sind
- 17. Wie kann ich überprüfen, ob ein Wert eine Zahl ist?
- 18. Android Firebase-Datenbank, überprüfen, ob Werte vorhanden sind
- 19. Überprüfen Sie, ob JSON-Schlüssel/Knoten vorhanden sind
- 20. Überprüfen, ob navigator.app.backHistory vorhanden ist
- 21. MongoDB - Überprüfen, ob mehrere Felder in einer Sammlung vorhanden sind
- 22. Überprüfen Sie, ob Daten für viele Daten bereits vorhanden sind
- 23. Überprüfen Sie, ob mehrere Dateien in einem Verzeichnis vorhanden sind
- 24. Überprüfen, ob Latitiude & Longitude in der Datenbank vorhanden sind
- 25. Überprüfen, ob Formularelement vorhanden ist
- 26. Python: AttributeError beim Überprüfen, ob Eigenschaften vorhanden sind
- 27. Überprüfen, ob Objektattributwerte im HTML-Code mit Delphi vorhanden sind
- 28. Überprüfen Sie, ob genügend SD-Speicherkarten programmatisch vorhanden sind
- 29. Wie kann ich überprüfen, ob zwei reguläre Ausdrücke identisch sind?
- 30. Überprüfen, ob Schlüssel/Wert-Paare innerhalb des Arrays vorhanden sind
Nur ein Heads-up, ein Aufruf 'AWSLogsClient # describeLogStreams' mit einem' logGroupName', die nicht generiert existiert eine 'ResourceNotFoundException' . Wenn Sie sich über die Existenz der Protokollgruppe nicht sicher sind, sollten Sie die Ausnahme behandeln. – Trein