다음 특성을 설정할 수 있습니다.
Java 애플리케이션에 대한 파일이 있는 경우 pureQuery는 새 로그 항목에 대한 파일을 사용하기 전에 파일의 컨텐츠를 삭제합니다.
traceFile 특성은 전역 pdq.properties 파일에만 지정할 수 있습니다.
pureQuery 컴포넌트 로깅의 추적 레벨을 지정할 수 있습니다. pureQuery 컴포넌트 추적 정보 로깅에 대한 정보는 pureQuery Runtime 컴포넌트 특성의 추적 레벨 지정의 내용을 참조하십시오.
traceLevel 특성은 전역 pdq.properties 파일에만 지정할 수 있습니다.
traceBufferRowCount 특성이 사용 가능한 경우 pureQuery Runtime 특성 dumpLogsOnSqlCodes도 파일에 로그 레코드를 기록하도록 지정되어야 합니다. dumpLogsOnSqlCodes 특성의 값은 SQL 오류 코드의 목록입니다. 나열된 오류가 발생하면 메모리에 버퍼 지정되는 로그 레코드가 로그 파일에 기록됩니다. 로그 파일은 traceFile 특성이 지정합니다. 지정된 오류 코드가 발견되지 않거나 특성 dumpLogsOnSqlCodes가 지정되지 않고 최대 메모리 양에 도달하는 경우 새 레코드가 메모리에 버퍼 지정되면 가장 오래된 레코드가 메모리에서 삭제됩니다.
특성 dumpLogsExcludingSqlCodes는 로그 파일에 로그 레코드를 기록하도록 트리거되지 않는 SQL 오류 코드와 함께 지정될 수 있습니다.
pdq.traceBufferRowCount=8000 pdq.dumpLogsOnSqlCodes=default
traceBufferRowCount 옵션은 독립형 pureQuery Runtime 애플리케이션에 사용하도록 디자인됩니다. 이는 WebSphere® 링 버퍼와 별개입니다.
pdq.traceBufferRowCount=8000 pdq.dumpLogsOnSqlCodes=-805|-810
pureQuery Runtime은 SQL 오류 코드 -805 또는 -810이 발생하거나 traceBufferRowCount 특성으로 지정된 레코드 수가 메모리에서 버퍼 지정되는 경우 메모리에 있는 로그 레코드를 로그 파일에 기록합니다.
pdq.traceBufferRowCount=8000 pdq.dumpLogsOnSqlCodes=default|-3476
키워드 기본값을 사용하는 경우 버퍼 지정 로그 레코드를 로그 파일에 기록하도록 트리거하지 않는 특정 SQL 오류 코드 dumpLogsExcludingSqlCodes를 지정할 수 있습니다. pureQuery Runtime 기본 SQL 오류 코드의 목록은 로깅에 사용되는 pureQuery Runtime 기본 SQL 오류 코드 목록의 내용을 참조하십시오.
다음 예에서 메모리에서의 로그 레코드 버퍼링은 최대 8000개의 레코드를 처리할 수 있습니다. pureQuery Runtime은 기본 목록에 있는 SQL 오류 코드 또는 오류 코드 -3476이 발견되면 로그 파일에 버퍼 지정 로그 레코드를 기록합니다. SQL 오류 코드의 기본 목록은 오류 코드 -805를 포함합니다. dumpLogsExcludingSqlCodes 특성은 SQL 오류 코드 -805가 버퍼링된 로그 레코드를 로그 파일에 쓰도록 트리거하지 않습니다.
pdq.traceBufferRowCount=8000 pdq.dumpLogsOnSqlCodes=default|-3476 pdq.dumpLogsExcludingSqlCodes=-805
pureQuery Runtime은 java.util.logging Framework를 사용합니다. Framework 내에서 pureQuery Runtime은 해당 상위 로거의 이름을 com.ibm.pdq.logger로 지정합니다. Java 로깅 API 규칙 및 도구를 사용하여 사용자 및 사용자 애플리케이션은 pureQuery 로그 메시지가 com.ibm.pdq에 전달되도록 해당 로거의 로그 레벨 및 로그 파일을 설정할 수 있습니다.
다수의 애플리케이션 서버가 java.util.logging Framework 아래에서 실행되는 로거를 구성하기 위한 관리 도구를 제공합니다. 예를 들어, WebSphere Application Server를 사용하면 com.ibm.pdq 로거를 구성하여 pureQuery 로깅 및 추적을 제어할 수 있습니다. 애플리케이션 서버 도구 사용은 pureQuery Runtime 특성으로 pureQuery 로깅을 구성하기 위한 대안입니다. pureQuery는 com.ibm.pdq 로그 프로그램 레벨이 pureQuery pdq.traceLevel 특성에 지정된 레벨보다 높고 com.ibm.pdq 로그 프로그램 레벨이 INFO보다 높은 경우에 com.ibm.pdq 로그 프로그램 레벨을 사용합니다. WebSphere Application Server 통합 솔루션 콘솔에서
을 선택하여 com.ibm.pdq 로거 레벨을 설정할 수 있습니다.com.ibm.pdq 로그 프로그램 추적 레벨이 INFO보다 포괄적인 레벨로 설정되었고 pureQuery 특성이 com.ibm.pdq 로그 프로그램 추적 레벨보다 포괄적인 레벨을 지정하지 않는 경우, pureQuery는 com.ibm.pdq 로그 프로그램의 레벨을 상속합니다.
pureQuery 애플리케이션에 WebSphere Application Server를 사용할 계획인 경우, WebSphere Application Server에 대한 로그에 pureQuery 로그 항목을 표시하려면 INFO보다 높은 레벨을 설정해야 합니다.
pureQuery Runtime은 로깅을 JDBC 드라이버 로그와 명시적으로 통합하지 않습니다. 하지만 Java 로깅 API를 사용하여 로그하는 JDBC 드라이버는 로그 프레임워크 통합에 참여할 수 있습니다. 이는 두 JDBC 드라이버 및 pureQuery Runtime 모두가 WebSphere 추적에 로그하도록 구성되는 경우 pureQuery 및 JDBC 드라이버 로그 항목이 동일한 로그 파일에서 인터리브됨을 의미합니다.
애플리케이션이 IBM® Data Server Driver for JDBC and SQLJ를 사용하여 지원되는 DB2® 데이터베이스에 연결하고 Connection 오브젝트에 대해 getJccSpecialRegisterProperties() 메소드를 호출하는 경우 pureQuery는 오브젝트에 대해 해당 메소드를 처음 호출한 결과를 로그할 수 있습니다. pureQuery가 로그에 기록하는 메시지에는 드라이버가 데이터베이스에 대해 지원하는 특수 레지스터에 대한 널(NULL)이 아닌 모든 값이 나열됩니다.
로그에서 이 메시지를 확인하려면 추적 레벨을 FINE으로 설정하십시오.
DB2 CLI(Call Level Interface) 또는 IBM Data Server Driver를 pureQuery 런타임에 사용하는 경우 pureQuery Runtime 특성을 구성 키워드로 사용할 수 있습니다.
구성 파일 db2cli.ini 또는 dsdriver.cfg의 두 키를 설정할 수 있습니다.
CLI 애플리케이션이 실행하는 디렉토리에 대한 절대 경로나 상대 경로를 사용할 수 있습니다. 파일이 존재하면 새 로그 메시지가 파일의 기존 컨텐츠에 추가됩니다.
CLI 애플리케이션이 실행하는 디렉토리에 대한 절대 경로나 상대 경로를 사용할 수 있습니다. 파일이 존재하면 새 로그 메시지가 파일의 기존 컨텐츠에 추가됩니다.
다음 라인은 db2cli.ini 파일에서 traceFile을 /user/CLIOPTtraces.log로 설정하고 traceLevel을 INFO로 설정합니다.
traceFile=/user/CLIOPTtraces.log traceLevel=INFO