

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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 로그에 작성](#cloudwatch-logs-writing-log4j)
+ [SLF4J를 사용하여 CloudWatch 로그에 작성](#cloudwatch-logs-writing-slf4j)

## Log4J를 사용하여 CloudWatch 로그에 작성
<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 로그에 작성
<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" 
}
```