

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

# 라이브러리 로깅 매크로 구현
<a name="afr-library-logging-macros"></a>

FreeRTOS 라이브러리는 다음과 같은 로깅 매크로를 사용합니다(세부 수준 오름차순으로 나열됨).
+ `LogError`
+ `LogWarn`
+ `LogInfo`
+ `LogDebug`

모든 매크로에 대한 정의를 제공해야 합니다. 권장 사항은 다음과 같습니다.
+ 매크로는 `C89` 스타일 로깅을 지원해야 합니다.
+ 로깅은 스레드 안전이어야 합니다. 여러 태스크의 로그 줄이 인터리브되지 않아야 합니다.
+ 로깅 API는 I/O에서 차단되지 않아야 하고 애플리케이션 태스크가 I/O에서 차단되지 않도록 해야 합니다.

구현 세부 사항은 FreeRTOS.org의 [Logging Functionality](https://www.freertos.org/logging.html)를 참조하세요. 이 [예제](https://github.com/FreeRTOS/lab-iot-reference-nxp-rt1060/tree/main/examples/common/logging)에서 구현을 확인할 수 있습니다.

## 테스트
<a name="testing-logging"></a>
+ 여러 태스크가 포함된 테스트를 실행하여 로그가 인터리브되지 않는지 확인합니다.
+ 테스트를 실행하여 로깅 API가 I/O에서 차단되지 않는지 확인합니다.
+ `C89,C99` 스타일 로깅과 같은 다양한 표준으로 로깅 매크로를 테스트합니다.
+ `Debug`, `Info`, `Error`, `Warning` 등 다양한 로그 수준을 설정하여 로깅 매크로를 테스트합니다.