Java 일괄처리 작업 로그 보기

WebSphere Application Server Liberty에서 Java 일괄처리 작업을 실행 중이면 각 작업에 대해 로그가 작성됩니다.

로그는 다음 디렉토리 구조로 작성됩니다.

log directory/joblogs/job name/date/instance.job instance ID/execution.execution ID

주의: job name 변수는 JSL(XML) 문서에 있는 job 요소의 id 속성입니다. 이 변수는 JSL 파일의 파일 이름과 반드시 관련되어 있지는 않습니다.
로그의 이름 지정은 part.1.log에서 시작하여 필요에 따라 새 로그 파트로 순환합니다. 기본적으로 작업 로그에는 작업 실행을 수행하고 있는 스레드에 의해 서버에서 로그되는 모든 메시지와 추적 정보가 포함됩니다. java.util.logging 프레임워크 내에 로그되지 않는 결과물은 수집되지 않습니다.
중요사항: 새 로그 파트를 작성할 수 없는 경우 일괄처리에서는 로그 없이 계속 처리를 수행하거나 현재 로그 파트로 처리를 계속합니다.

REST API를 사용하여 작업 로그를 검색하거나 삭제하는 것에 대한 자세한 정보는 REST API 관리 문서를 참조하십시오.

중요사항: log4j API를 사용하는 경우, log4j 프레임워크를 사용하는 애플리케이션은 org.apache.log4j.jul.JULAppender를 사용하여 일괄처리 작업 로깅에 참여할 수 있습니다. JULAppender는 작업 로깅을 위해 수집되는 java.util.logging 프레임워크로 log4j 로그 레코드를 전달합니다.

작업 로깅 구성

일괄처리 작업 로깅은 <batchJobLogging> 구성 요소 <batchJobLogging enabled="true" maxRecords="1000" />을 사용하여 구성할 수 있습니다.

속성 maxRecords는 레코드가 다음 부분으로 롤오버되기 전에 작업 로그 부분에 기록되는 레코드의 수를 나타냅니다.

일괄처리 기능은 특정 일괄처리 메시지를 작업 로그에만 로그하기 위해 com.ibm.ws.batch.JobLogger라는 로거를 사용합니다. 이에 대한 예로는 라이프사이클 메시지 및 체크포인트 메시지를 들 수 있습니다. 이 로거는 서버 로그에 기록하지 않습니다. 기본적으로 이 로거는 Level.FINE 메시지에 대해 사용으로 설정됩니다. 로거를 서버의 추적 스펙에 지정하면 로거의 레벨을 구성할 수 있습니다. 예를 들면, <logging traceSpecification="*=info:com.ibm.ws.batch.JobLogger=all" />과 같이 지정하십시오.

런타임이나 애플리케이션 코드에 의해 기록되는 메시지를 포함, 작업 스레드에 의해 기록되는 모든 메시지는 작업 로그와 서버 로그 둘 다에 기록됩니다.

System.outSystem.err 파일은 서버 로그에만 기록되며 작업 로그에는 기록되지 않습니다.

파티션된 단계

파티션된 단계는 각 파티션에 대해 더 많은 서브디렉토리를 가지고 있습니다. execution ID 디렉토리의 로그 파일에는 최상위 레벨 작업을 실행하고 있는 스레드의 항목이 포함됩니다. 파티션에 대한 작업 로그는 다음 구조로 저장됩니다.

log directory/joblogs/job name/date/instance.job instance ID/execution.execution ID/name of partitioned step/partition number

중요사항: 각 파티션의 name of partitioned step 디렉토리에 하나의 디렉토리가 작성됩니다.

분할 플로우

작업에서 분열 플로우가 발생하면 각 플로우의 스레드로부터 결과물을 캡처하기 위해 더 많은 서브디렉토리가 작성됩니다. execution ID 디렉토리 바로 아래에 있는 로그 파일에는 최상위 레벨 작업을 실행하고 있는 스레드의 항목이 포함됩니다. 개별 플로우 스레드에 대한 작업 로그는 다음 구조로 저장됩니다.

log directory/joblogs/job name/date/instance.job instance ID/execution.execution ID/split ID/flow ID

중요사항: 각 플로우의 split ID 디렉토리에 하나의 디렉토리가 작성됩니다.

작업 로그 이벤트

일괄처리 작업 이벤트가 사용 가능한 경우, 작업 로그 파트가 완료되고 작업이 종료된 상태(예: stopped, failed 또는 completed)에 도달하면 작업 로그 이벤트가 공개됩니다. 작업 로그 이벤트 메시지에는 다중 JSON 특성이 포함되어 있어 실제 작업 로그 파일 컨텐츠와 메시지를 식별하는 데 도움이 됩니다.

중요사항: JSON 특성은 JMS 메시지 본문의 일부이며 본문 텍스트를 JsonObject로 변환하고 그 오브젝트에서 특정 JSON 특성을 가져와서 검색할 수 있습니다.
다음 예제는 작업 로그 컨텐츠 특성을 검색하는 방법을 보여줍니다.
//The retrieved job log event message
Message msg
//Convert the Message to a TextMessage
TextMessage txtMsg = (TextMessage) msg;
//Convert the text in the message to a JsonObject
JsonObject jobLogEventObject = Json.createReader(new StringReader(txtMsg.getText())).readObject();
//Pull the job log text content from the JsonObject as an example
JsonArray logContentArray = jobLogEventObject.getJsonArray("contents");

일괄처리 작업 이벤트 사용에 대한 자세한 정보는 일괄처리 작업 이벤트 공개 사용을 참조하십시오.


주제의 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwlp_batch_view_joblog
파일 이름: rwlp_batch_view_joblog.html