

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CloudWatch Logs にカスタムメッセージを書き込む
<a name="cloudwatch-logs-writing"></a>

Managed Service for Apache Flinkアプリケーションの CloudWatch ログにカスタムメッセージを書き込むことができます。Apache[https://logging.apache.org/log4j/](https://logging.apache.org/log4j/)ライブラリまたは[https://www.slf4j.org/](https://www.slf4j.org/)ライブラリを使用します。

**Topics**
+ [Log4J を使用して CloudWatch Logs に書き込む](#cloudwatch-logs-writing-log4j)
+ [SLF4J を使用して CloudWatch Logs に書き込む](#cloudwatch-logs-writing-slf4j)

## Log4J を使用して CloudWatch Logs に書き込む
<a name="cloudwatch-logs-writing-log4j"></a>

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>
   ```

1. ライブラリからオブジェクトを含めます。

   ```
   import org.apache.logging.log4j.Logger;
   ```

1. `Logger`オブジェクトをインスタンス化し、次のアプリケーションクラスを渡します。

   ```
   private static final Logger log = LogManager.getLogger.getLogger(YourApplicationClass.class);
   ```

1. `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 Logs に書き込む
<a name="cloudwatch-logs-writing-slf4j"></a>

1. 次の依存関係をアプリケーション `pom.xml` ファイルに追加します。

   ```
   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
       <version>1.7.7</version>
       <scope>runtime</scope>
   </dependency>
   ```

1. ライブラリからのオブジェクトを含めます。

   ```
   import org.slf4j.Logger;
   import org.slf4j.LoggerFactory;
   ```

1. `Logger`オブジェクトをインスタンス化し、次のアプリケーションクラスを渡します。

   ```
   private static final Logger log = LoggerFactory.getLogger(YourApplicationClass.class);
   ```

1. `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" 
}
```