將自訂訊息寫入記 CloudWatch 錄檔 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink 之前稱為 Amazon Kinesis Data Analytics for Apache Flink。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將自訂訊息寫入記 CloudWatch 錄檔

您可以將自訂訊息寫入 Apache Flink 應用程式的 CloudWatch 記錄檔的受管理服務。您可以使用 Apache log4j 程式庫或 Simple Logging Facade for Java (SLF4J) 程式庫來執行這項操作。

使用 Log4j 寫入 CloudWatch 日誌

  1. 將下列相依性新增至應用程式的 pom.xml 檔案:

    <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. 包括來自程式庫的物件:

    import org.apache.logging.log4j.Logger;
  3. 具現化 Logger 物件,傳入你的應用程式類別:

    private static final Logger log = LogManager.getLogger.getLogger(YourApplicationClass.class);
  4. 使用 log.info 寫入日誌。大量訊息會寫入應用程式日誌。若要讓您的自訂訊息更易於篩選,請使用 INFO 應用程式日誌層級。

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

應用程式會將記錄寫入日誌,並顯示類似如下的訊息:

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

使用 SLF4J 寫入 CloudWatch 記錄檔

  1. 將下列相依性新增至應用程式的 pom.xml 檔案:

    <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> <scope>runtime</scope> </dependency>
  2. 包括來自程式庫的物件:

    import org.slf4j.Logger; import org.slf4j.LoggerFactory;
  3. 具現化 Logger 物件,傳入你的應用程式類別:

    private static final Logger log = LoggerFactory.getLogger(YourApplicationClass.class);
  4. 使用 log.info 寫入日誌。大量訊息會寫入應用程式日誌。若要讓您的自訂訊息更易於篩選,請使用 INFO 應用程式日誌層級。

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

應用程式會將記錄寫入日誌,並顯示類似如下的訊息:

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