Escritura de mensajes personalizados en registros de CloudWatch - Managed Service para Apache Flink

Amazon Managed Service para Apache Flink Amazon (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.

Escritura de mensajes personalizados en registros de CloudWatch

Se puede escribir mensajes personalizados en el registro de CloudWatch de la aplicación Managed Service para Apache Flink. Para ello, utilice la biblioteca log4j o la biblioteca Simple Logging Facade for Java (SLF4J) de Apache.

Escritura en registros de CloudWatch mediante Log4J

  1. Agregue las siguientes dependencias al archivo pom.xml de su aplicación:

    <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.6.1</version> </dependency>
  2. Incluya el objeto de la biblioteca:

    import org.apache.logging.log4j.Logger;
  3. Cree una instancia del objeto Logger, pasando su clase de aplicación:

    private static final Logger log = LogManager.getLogger.getLogger(YourApplicationClass.class);
  4. Escriba en el registro usando log.info. Se escribe una gran cantidad de mensajes en el registro de la aplicación. Para facilitar el filtrado de los mensajes personalizados, utilice el nivel de registro INFO de la aplicación.

    log.info("This message will be written to the application's CloudWatch log");

La aplicación escribe un registro en el registro con un mensaje similar al siguiente:

{ "locationInformation": "com.amazonaws.services.managed-flink.StreamingJob.main(StreamingJob.java:95)", "logger": "com.amazonaws.services.managed-flink.StreamingJob", "message": "This message will be written to the application's CloudWatch log", "threadName": "Flink-DispatcherRestEndpoint-thread-2", "applicationARN": "arn:aws:kinesisanalyticsus-east-1:123456789012:application/test", "applicationVersionId": "1", "messageSchemaVersion": "1", "messageType": "INFO" }

Escritura en registros de CloudWatch mediante SLF4J

  1. Agregue la siguiente dependencia al archivo pom.xml de su aplicación:

    <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> <scope>runtime</scope> </dependency>
  2. Incluya los objetos de la biblioteca:

    import org.slf4j.Logger; import org.slf4j.LoggerFactory;
  3. Cree una instancia del objeto Logger, pasando su clase de aplicación:

    private static final Logger log = LoggerFactory.getLogger(YourApplicationClass.class);
  4. Escriba en el registro usando log.info. Se escribe una gran cantidad de mensajes en el registro de la aplicación. Para facilitar el filtrado de los mensajes personalizados, utilice el nivel de registro INFO de la aplicación.

    log.info("This message will be written to the application's CloudWatch log");

La aplicación escribe un registro en el registro con un mensaje similar al siguiente:

{ "locationInformation": "com.amazonaws.services.managed-flink.StreamingJob.main(StreamingJob.java:95)", "logger": "com.amazonaws.services.managed-flink.StreamingJob", "message": "This message will be written to the application's CloudWatch log", "threadName": "Flink-DispatcherRestEndpoint-thread-2", "applicationARN": "arn:aws:kinesisanalyticsus-east-1:123456789012:application/test", "applicationVersionId": "1", "messageSchemaVersion": "1", "messageType": "INFO" }