Grave mensagens personalizadas no CloudWatch Logs - Managed Service for Apache Flink

Anteriormente, o Amazon Managed Service for Apache Flink (Amazon MSF) era conhecido como Amazon Kinesis Data Analytics for Apache Flink.

Grave mensagens personalizadas no CloudWatch Logs

Você pode gravar mensagens personalizadas no log do CloudWatch do aplicativo Managed Service for Apache Flink. Você faz isso usando abiblioteca log4j do Apache ou abiblioteca Simple Logging Facade for Java (SLF4J).

Grave no CloudWatch Logs usando o Log4J

  1. Adicione as seguintes dependências ao arquivo pom.xml do aplicativo:

    <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. Inclua o objeto da biblioteca:

    import org.apache.logging.log4j.Logger;
  3. Instancie o objeto Logger, transmitindo sua classe de aplicativo:

    private static final Logger log = LogManager.getLogger.getLogger(YourApplicationClass.class);
  4. Grave no log usando log.info. Um grande número de mensagens é gravado no log do aplicativo. Para facilitar a filtragem de suas mensagens personalizadas, use o nível de log INFO do aplicativo.

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

O aplicativo grava um registro no log com uma mensagem semelhante à seguinte:

{ "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" }

Grave no CloudWatch Logs usando o SLF4J

  1. Adicione as seguintes dependências ao arquivo pom.xml do aplicativo:

    <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> <scope>runtime</scope> </dependency>
  2. Inclua os objetos da biblioteca:

    import org.slf4j.Logger; import org.slf4j.LoggerFactory;
  3. Instancie o objeto Logger, transmitindo sua classe de aplicativo:

    private static final Logger log = LoggerFactory.getLogger(YourApplicationClass.class);
  4. Grave no log usando log.info. Um grande número de mensagens é gravado no log do aplicativo. Para facilitar a filtragem de suas mensagens personalizadas, use o nível de log INFO do aplicativo.

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

O aplicativo grava um registro no log com uma mensagem semelhante à seguinte:

{ "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" }