View a markdown version of this page

Utilízalo DescribeLogStreams con un AWS SDK o CLI - CloudWatch Registros de Amazon

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Utilízalo DescribeLogStreams con un AWS SDK o CLI

Los siguientes ejemplos de código muestran cómo utilizar DescribeLogStreams.

Los ejemplos de acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Puede ver esta acción en contexto en el siguiente ejemplo de código:

CLI
AWS CLI

El siguiente comando muestra todos los flujos de registro que comienzan con el prefijo 2015 del grupo de registro my-logs:

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

Salida:

{ "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 } ] }
  • Para obtener más información sobre la API, consulte DescribeLogStreams la Referencia de AWS CLI comandos.

Java
SDK para Java 2.x
nota

Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

Busca flujos de registro dentro de un grupo de registros específico que coincidan con un prefijo determinado.

/** * 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 } } }

Imprime los metadatos sobre el flujo de registro más reciente de un grupo de registros especificado.

/** * 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()); } } }
  • Para obtener más información sobre la API, consulta DescribeLogStreams la Referencia de AWS SDK for Java 2.x API.

Para obtener una lista completa de las guías para desarrolladores del AWS SDK y los ejemplos de código, consultaUso de CloudWatch los registros con un AWS SDK. En este tema también se incluye información sobre cómo empezar a utilizar el SDK y detalles sobre sus versiones anteriores.