12.2. LogEIP


12.2.1. 개요

Apache Camel은 경로에 로깅을 수행하는 여러 가지 방법을 제공합니다.

  • 로그 DSL 명령 사용.
  • 메시지 콘텐츠를 기록할 수 있는 로그 구성 요소를 사용합니다.
  • 메시지 흐름을 추적하는 추적기를 사용합니다.
  • Processor 또는 Cryostat 엔드포인트를 사용하여 Java 로그인을 수행합니다.
로그 DSL 명령과 로그 구성 요소 간의 차이점

로그 DSL은 훨씬 가벼우며 Starting to do …​ 과 같은 인적 로그를 로깅하기 위한 것입니다. 단순 언어를 기반으로 하는 메시지만 기록할 수 있습니다. 반대로 Log 구성 요소는 완전한 기능을 갖춘 로깅 구성 요소입니다. 로그 구성 요소는 메시지 자체를 로깅할 수 있으며 로깅을 제어하는 많은 URI 옵션이 있습니다.

12.2.2. Java DSL 예

Apache Camel 2.2 이므로 log DSL 명령을 사용하여 단순 표현식 언어를 사용하여 런타임에 로그 메시지를 구성할 수 있습니다. 예를 들어 다음과 같이 경로 내에 로그 메시지를 생성할 수 있습니다.

from("direct:start").log("Processing ${id}").to("bean:foo");

이 경로는 런타임에 문자열 형식 메시지를 생성합니다. 경로 ID를 로그 이름으로 사용하여 INFO 수준에 로그 메시지가 기록됩니다. 기본적으로 경로의 이름은 route-1,route -2 등입니다. 그러나 DSL 명령 routeId("myCoolRoute") 를 사용하여 사용자 지정 경로 ID를 지정할 수 있습니다.

또한 로그 DSL은 로깅 수준 및 로그 이름을 명시적으로 설정할 수 있는 변형을 제공합니다. 예를 들어 로깅 수준을 LoggingLevel.DEBUG 로 명시적으로 설정하려면 다음과 같이 로그 DSL을 호출할 수 있습니다.

로그 DSL에는 로깅 수준 및/또는 이름을 설정하는 오버로드된 방법이 있습니다.

from("direct:start").log(LoggingLevel.DEBUG, "Processing ${id}").to("bean:foo");

로그 이름을 fileRoute 로 설정하려면 다음과 같이 로그 DSL을 호출할 수 있습니다.

from("file://target/files").log(LoggingLevel.DEBUG, "fileRoute", "Processing file ${file:name}").to("bean:foo");

12.2.3. XML DSL 예

XML DSL에서 로그 DSL은 로그 요소로 표시되고 메시지 특성을 다음과 같이 단순 표현식으로 설정하여 로그 메시지가 지정됩니다.

<route id="foo">
    <from uri="direct:foo"/>
    <log message="Got ${body}"/>
    <to uri="mock:foo"/>
</route>

log 요소는 메시지,loggingLevellogName 특성을 지원합니다. 예를 들면 다음과 같습니다.

<route id="baz">
    <from uri="direct:baz"/>
    <log message="Me Got ${body}" loggingLevel="FATAL" logName="cool"/>
    <to uri="mock:baz"/>
</route>

12.2.4. 글로벌 로그 이름

경로 ID는 기본 로그 이름으로 사용됩니다. Apache Camel 2.17 부터 logname 매개변수를 구성하여 로그 이름을 변경할 수 있습니다.

Java DSL: 다음 예제를 기반으로 로그 이름을 구성합니다.

CamelContext context = ...
context.getProperties().put(Exchange.LOG_EIP_NAME, "com.foo.myapp");

XML에서 다음과 같은 방식으로 로그 이름을 구성합니다.

<camelContext ...>
  <properties>
    <property key="CamelLogEipName" value="com.foo.myapp"/>
  </properties>

로그가 두 개 이상 있고 모든 로그에 동일한 로그 이름을 사용하려면 각 로그에 구성을 추가해야 합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.