2진 로깅

2진 로깅은 WebSphere Application Server Traditional의 HPEL(High Performance Extensible Logging) 기술을 기반으로 하는 고성능 로그 및 추적 기능입니다.

개요

참고: 2진 로깅 기능을 사용하려면 먼저 사용 가능하도록 설정해야 합니다.

2진 로깅은 애플리케이션 서버 또는 애플리케이션에서 생성되는 로그, 추적, System.err 및 System.out 정보를 저장하고 액세스하는 편리한 메커니즘을 제공합니다. 이 메커니즘은 기본 로그 및 추적 기능을 대신하는 것으로, 일반적으로 messages.logtrace.log라고 하는 JVM 로그 및 진단 추적 파일을 제공합니다.

로그 및 추적 스토리지

2진 로깅은 로그 데이터 저장소 및 추적 데이터 저장소를 제공합니다. 애플리케이션 및 애플리케이션 서버가 로그 및 추적 정보를 저장하는 방법을 이해하려면 다음 그림을 참조하십시오.

HPEL 및 기본 로깅을 위한 로그 및 추적 스토리지.

로그 데이터 저장소

로그 데이터 저장소는 로그 레코드에 대한 저장 공간 기능입니다. 로그 데이터는 일반적으로 관리자가 검토하기 위한 용도로 사용됩니다. 여기에는 애플리케이션이나 서버가 System.out, System.err, LOG_INFO 레벨 이상의 OSGi 로깅 서비스(LOG_INFO, LOG_WARNING, LOG_ERROR 포함) 또는 세부사항 레벨 이상의 java.util.logging(세부사항, 구성, 정보, 감사, 경고, 심각, 치명적 및 세부사항 레벨 이상의 기타 사용자 정의 레벨 포함)에 작성하는 정보가 모두 포함됩니다.

추적 데이터 저장소

추적 데이터 저장소는 추적 레코드에 대한 저장 공간 기능입니다. 추적 데이터는 일반적으로 애플리케이션 프로그래머나 WebSphere® Application Server 지원 팀에서 사용하기 위한 것입니다. 여기에는 애플리케이션이나 서버가 LOG_DEBUG 레벨의 OSGi 로깅 서비스나 세부사항 레벨 미만의 java.util.logging(미세, 더 미세, 가장 미세 및 세부사항 레벨 미만의 모든 사용자 정의 레벨)에 작성하는 정보가 모두 포함됩니다.

로그 및 추적 성능

2진 로깅은 기본 로그 및 추적 기능을 상당 부분 능가하도록 디자인되었고 그에 따른 테스트를 거쳤습니다. 추적을 사용하는 상태로, 애플리케이션 서버를 실행하는 성능에 대한 영향은 기본 로그 및 추적 프레임워크보다 2진 로깅을 사용할 때 더 크게 향상됩니다. 또한 2진 로깅을 사용하면 로그에 자주 쓰는 애플리케이션을 더 빠르게 실행할 수 있습니다.

로그 및 추적 이벤트는 한 곳에만 저장됨

로그 이벤트, System.out 및 System.err는 로그 데이터 저장소에 저장됩니다. 추적 이벤트는 추적 데이터 저장소에 저장됩니다. 각 유형의 이벤트를 한 곳에만 저장하면 중복 데이터 스토리지에서 성능을 소비하지 않게 됩니다.

참고: 로깅 성능이 중요한 경우 콘솔 로그를 사용하지 않도록 설정해야 합니다. 콘솔 로그에 작성된 컨텐츠는 이미 로그 데이터 저장소에 저장되어 있습니다.

로그 및 추적 데이터 저장소에 연결 중인 애플리케이션 서버를 표시하는 이미지.

필요하지 않은 경우 데이터가 형식화되지 않음

사용자가 읽을 수 있도록 형식화된 데이터는 프로세서 시간을 사용합니다. 런타임 시 로그 이벤트 및 추적 이벤트 데이터를 형식화하지 않고, 로그 및 추적 데이터는 자체의 2진 표현으로 더욱 빠르게 저장됩니다. 이를 통해 로그 및 추적 기능의 성능이 향상됩니다. binaryLog 명령이 실행될 때까지 로그 및 추적 형식화를 지연시키면, 표시되지 않는 로그 또는 추적의 섹션은 형식화되지 않습니다.

로그 및 추적 데이터가 디스크에 작성되기 전에 버퍼링됨

대규모 데이터 블록을 디스크에 작성하는 작업은 동일한 양의 데이터를 작은 블록에 작성하는 것보다 더 효율적입니다. 2진 로깅은 로그 및 추적 데이터를 디스크에 작성하기 전에 해당 데이터를 버퍼링하는 기능을 제공합니다. 기본적으로, 로그 및 추적 데이터는 디스크에 작성되기 전에 8KB 버퍼에 저장됩니다. 버퍼가 10초 이내에 채워질 경우 해당 버퍼가 디스크에 작성됩니다. 버퍼가 이 시간 이내에 채워지지 않으면 로그에 최신 정보가 포함되도록 자동으로 디스크에 작성됩니다.

로그 및 추적 관리

2진 로깅은 구성 및 이해가 용이하도록 디자인되었습니다. 예를 들어, 관리자는 로그 또는 추적에 사용되는 전용 디스크 공간의 양 또는 로그 및 추적 레코드를 유지하는 기간을 손쉽게 구성하고 로그 및 추적 컨텐츠가 서버에서 관리되도록 할 수 있습니다. 사용하기 쉬운 명령(binaryLog)을 사용하여 다른 예제 로그, 추적, System.out 및 System.err 컨텐츠 모두에 액세스할 수 있습니다. 이 경우, 특정 컨텐츠를 위해 액세스하는 파일과 혼동되는 것을 방지할 수 있습니다.

로그 데이터 및 추적 데이터 저장소에서 읽기

로그 데이터 및 추적 데이터 저장소는 WebSphere Application Server 독점 형식으로 저장되며, 메모장이나 VI와 같은 텍스트 파일 편집기를 사용하여 읽을 수 없습니다. binaryLog 명령을 사용하여 로그 데이터 및 추적 데이터 저장소를 일반 텍스트 형식으로 복사할 수 있습니다.

로그 및 추적 데이터 저장소에서 텍스트 로그로 데이터를 풀링하는 로그 뷰어를 보여주는 이미지
binaryLog 명령

binaryLog는 사용자가 로그 데이터 및 추적 데이터 저장소에 대해 작업할 수 있도록 제공되는 사용하기 쉬운 명령행 도구입니다. binaryLog는 로그 데이터 및 추적 데이터 저장소의 중요 컨텐츠를 간편하게 찾을 수 있는 필터링 및 형식화 옵션을 제공합니다. 예를 들어, 사용자는 오류나 경고를 필터링한 다음 동일한 스레드의 주요 오류 메시지 중 10초 이내에 발생한 모든 로그 및 추적 항목을 필터링할 수 있습니다.

로그 및 추적 레코드 확장기능 컨텐츠를 사용하여 필터링

2진 로깅 기능은 개발자가 로그 레코드 컨텍스트 API(com.ibm.websphere.logging.hpel.LogRecordContext)를 사용하여 로그 및 추적 레코드에 사용자 정의 확장을 추가할 수 있는 기능을 제공합니다. binaryLog 명령행 도구를 사용하여 로그 및 추적 레코드 확장의 컨텐츠를 기반으로 레코드를 필터링할 수 있습니다.

개발 자원

2진 로깅은 로그 및 추적 컨텐츠를 기본 로깅 기능보다 더욱 유연하고 효율적으로 사용할 수 있도록 디자인되었습니다. 로그 및 추적 컨텐츠는 관심 있는 레코드만 표시하도록 간편하게 필터링할 수 있습니다. 사용자는 명령행(binaryLog 명령 설명 참조)을 사용할 수 있으며, 개발자는 HPEL API를 사용하여 강력한 로그 처리 프로그램을 작성할 수 있습니다.

com.ibm.websphere.logging.hpel API에 연결하는 로그 및 추적 데이터 저장소를 보여주는 이미지
로그 데이터 및 추적 데이터 읽기

개발자가 2진 로그 및 추적 저장소에서 컨텐츠를 사용하기 위한 도구를 간편하게 개발할 수 있도록 API가 제공되었습니다. 예를 들어 개발자는 중요한 메시지 ID의 알려진 목록과 일치하는 메시지 ID의 메시지를 찾도록 로그 및 추적 컨텐츠를 검색하는 Java™ 프로그램을 작성할 수 있습니다. 이 API는 com.ibm.websphere.logging.hpel 패키지에 있습니다. HPEL 로그 읽기 API에 대한 세부사항은 API 문서를 참조하십시오.

로그 및 추적 레코드 확장성

개발자는 로그 레코드 컨텍스트 API(com.ibm.websphere.logging.hpel.LogRecordContext)를 통해 로그 및 추적 레코드에 사용자 정의 확장을 추가할 수 있습니다. 2진 로깅이 로그 및 추적 레코드를 저장하는 경우, 동일한 스레드의 로그 레코드 컨텍스트에 존재하는 확장을 포함합니다. 예를 들어 개발자는 서블릿 필터를 작성하여 로그 레코드 컨텍스트에 중요한 HTTP 요청 매개변수를 추가할 수 있습니다. 해당 서블릿이 실행되는 동안, HPEL API는 동일한 스레드에 작성된 로그 및 추적 레코드에 해당 확장을 추가합니다.

기타 로그 및 추적 레코드 필드와 마찬가지로 개발자는 HPEL API를 사용하여 레코드 확장기능에 액세스할 수 있습니다. 이는 로그 및 추적 저장소에서 읽기 위한 도구를 작성하는 데 유용합니다. 또한 개발자는 로그 레코드 컨텍스트 API를 사용하여 런타임에 사용자 정의 로그 핸들러, 필터 및 포맷터의 확장기능에 액세스할 수 있습니다.


주제의 유형을 표시하는 아이콘 개념 주제

파일 이름: cwlp_HPELOverview.html