5.7. 메시지 내역
5.7.1. 개요
메시지 기록 패턴을 사용하면 느슨하게 연결된 시스템에서 메시지 흐름을 분석하고 디버깅할 수 있습니다. 메시지 기록을 메시지에 연결하면 메시지가 원본 이후 전달된 모든 애플리케이션 목록이 표시됩니다.
Apache Camel에서는 getTracedRouteNodes
방법을 사용하여 추적기를 사용하거나 UnitOfWork의 Java API를 사용하여 메시지 흐름을 추적할 수 있습니다.
5.7.2. 로그의 문자 길이 제한
로깅 메커니즘을 사용하여 Apache Camel을 실행하면 메시지 및 해당 콘텐츠를 수시로 기록할 수 있습니다.
일부 메시지에는 매우 큰 페이로드가 포함될 수 있습니다. 기본적으로 Apache Camel은 로그 메시지를 지우고 처음 1000자만 표시합니다. 예를 들어 다음 로그가 다음과 같이 표시됩니다.
[DEBUG ProducerCache - >>>> Endpoint[direct:start] Exchange[Message: 01234567890123456789... [Body clipped after 20 characters, total length is 1000]
Apache Camel이 로그의 본문을 클리핑할 때 제한을 사용자 지정할 수 있습니다. 0 또는 음수 값(예: -1)을 설정할 수도 있습니다. 즉 메시지 본문이 기록되지 않음을 의미합니다.
- Java DSL을 사용하여 제한 사용자 정의
Java DSL을 사용하여 Camel 속성의 제한을 설정할 수 있습니다. 예를 들면 다음과 같습니다.
context.getProperties().put(Exchange.LOG_DEBUG_BODY_MAX_CHARS, "500");
- Spring DSL을 사용하여 제한 사용자 정의
Spring DSL을 사용하여 Camel 속성 제한을 설정할 수 있습니다. 예를 들면 다음과 같습니다.
<camelContext> <properties> <property key="CamelLogDebugBodyMaxChars" value="500"/> </properties> </camelContext>