로깅되는 기록 데이터 구성
기록 데이터를 포괄적으로 로깅하면 상당한 성능 문제가 발생할 수 있습니다. 따라서 빌드 블록이 배포되면 기록 데이터에 대한 포괄적인 로깅이 사용 안 함으로 설정됩니다. 기록 데이터 로깅은 다른 기능에 필요한 작업으로만 제한됩니다. 기본적으로, 로깅되는 유일한 기록 데이터는 작업 정의가 생성 및 업데이트될 때의 실행 상태입니다.
포괄적인 로깅이 사용 안 함으로 설정될 때 로깅되는 제한된 작업 세트를 구성할 수 있습니다.
* 
포괄적인 로깅 사용을 선택한 경우 중요한 성능 문제가 발생할 수 있다는 점에 유의하십시오.
제한된 작업 세트 구성
기록 데이터의 포괄적인 로깅을 비활성화할 때 로깅되는 제한된 작업 세트를 구성하려면 다음 단계를 완료하십시오.
1. PTC.DBConnection 빌딩 블록에서 확장되는 새 빌딩 블록을 만듭니다.
새 빌딩 블록을 만들려면 다음 단계를 완료하십시오.
a. 새 프로젝트를 작성합니다. 회사 이름 등 프로젝트에 고유한 접두사를 사용합니다. PTC 접두사는 PTC에서 제공하는 엔티티를 위해 예약되어 있습니다. 이 예에서는 이름이 MyCompany.DBConnection인 프로젝트를 작성합니다. 이 빌딩 블록에 대해 작성하는 각 새 사물, 사물 템플릿 또는 기타 엔티티에 대해 새 프로젝트를 ThingWorx Composer에 있는 엔티티의 일반 정보에 있는 프로젝트 값으로 추가합니다.
b. 사용자의 프로젝트에 PTC.DefaultConfiguration.EntryPoint_TT기본 사물 템플릿으로 사용하는 새 사물 템플릿을 작성합니다. 이 예에서는 새 사물 템플릿의 이름을 MyCompany.DBConnection.EntryPoint_TT로 지정합니다.
c. 1.b단계에서 만든 사물 템플릿을 기본 사물 템플릿으로 사용하는 프로젝트에서 새 사물을 작성합니다. 이 예에서는 새 사물의 이름을 MyCompany.DBConnection.EntryPoint로 지정합니다.
d. 사용자의 프로젝트에 확장 중인 PTC 빌딩 블록의 관리자 사물 템플릿을 기본 사물 템플릿으로 사용하는 새 사물 템플릿을 작성합니다. 이 예에서는 새 사물 템플릿의 이름을 MyCompany.DBConnection.HistoricalDataManager_TT로 지정하고 PTC.DBConnection.HistoricalDataManager_TT를 새 사물 템플릿의 기본 사물 템플릿으로 사용합니다.
e. 1.d단계에서 만든 사물 템플릿을 기본 사물 템플릿으로 사용하는 프로젝트에서 새 사물을 작성합니다. 이 예에서는 새 사물의 이름을 MyCompany.DBConnection.Manager로 지정하고 MyCompany.DBConnection.HistoricalDataManager_TT를 새 사물의 기본 사물 템플릿으로 사용합니다.
* 
PTC.DBConnection 빌딩 블록에는 여러 관리자 사물 템플릿 및 사물이 포함되어 있습니다. 이 절차에서 재정의할 서비스는 PTC.DBConnection.HistoricalDataManager_TT에 있습니다. 이 관리자 사물 템플릿을 이 단계에서 작성하고 있는 새 사물 템플릿에 대한 기본 사물 템플릿으로 사용하고 있으며 PTC.DBConnection 빌딩 블록에 있는 다른 관리자 사물 템플릿 중 하나가 아니어야 합니다.
2. 원래 빌딩 블록의 관리자 사물에서 구성을 새 빌딩 블록의 관리자 사물에 추가합니다.
a. 1.e단계에서 작성한 관리자 사물로 이동합니다. 이 예에서는 MyCompany.DBConnection.HistoricalDataManager입니다.
b. 구성에서 원래 빌딩 블록의 관리자 사물에 대한 구성 페이지에 있는 것과 동일한 구성을 추가합니다. 이 예에서는 PTC.DBConnection.HistoricalDataManager입니다.
3. 새 빌딩 블록의 관리자 사물을 빌딩 블록이 확장되는 PTC 빌딩 블록의 관리자 대신 사용할 관리자로 등록합니다.
a. PTC.Base.Manager 사물로 이동합니다.
b. 구성에서 DefaultGlobalManagerConfiguration 구성 테이블을 찾습니다.
c. 편집 아이콘.을 빌딩 블록이 확장되는 PTC 빌딩 블록의 관리자와 일치하는 managerThingName 값이 있는 행에 대해 클릭합니다.
이 예에서는 편집 아이콘.managerThingName 값이 PTC.DBConnection.HistoricalDataManager인 행에 대해 클릭합니다.
d. 편집 창에서 manageThingName 필드를 1.e단계에서 작성한 빌딩 블록에 대한 관리자 사물의 이름으로 설정합니다.
e. 설정을 클릭하여 새 값을 설정합니다.
f. 저장을 클릭하여 변경 내용을 PTC.Base.Manager 사물에 저장합니다.
4. ThingWorx Composer에서 1.d단계에서 만든 새 빌딩 블록에 대한 기록 데이터 관리자 사물 템플릿으로 이동합니다. 이 예에서는 MyCompany.DBConnection.HistoricalDataManager_TT입니다.
5. 서비스에서 GetHistoricalDataLogConfig 서비스를 찾아 재정의합니다.
6. 스크립트 편집기에서 로깅하려는 각 추가 이벤트에 대해 지정된 사용자 정의 구성 영역에 엔트리를 추가합니다.
* 
다른 기능에 미치는 영향이 확실하지 않은 경우 작업 정의(PTC.SCA.SCO.WorkDefinition)를 작성하거나 업데이트할 때 ExecutionStatus 필드 값을 기록하는 기본 구성 엔트리를 변경하거나 제거하지 마십시오.
엔트리는 다음 형식을 사용합니다.
addLoggingConfiguration("<Data_Shape>", "<field>", "<action>");
<작업>에 대해 가능한 <필드> 값은 다음과 같습니다.
CREATE - 필드 이름, ALL 또는 없음
UPDATE - 필드 이름 또는 ALL
DELETE - 없음
다음 표에는 로깅할 수 있는 다양한 이벤트에 대한 예제 엔트리가 나와 있습니다.
로깅할 이벤트
예제 엔트리
엔티티 작성(데이터베이스 테이블에 행이 추가됨)
addLoggingConfiguration("PTC.SCA.SCO.WorkDefinition", "CREATE");
엔티티 및 각 필드의 초기 값 작성(데이터베이스 테이블에 행이 추가되고 행이 추가될 때 값이 있는 각 필드)
addLoggingConfiguration("PTC.SCA.SCO.WorkDefinition", "ALL", "CREATE");
엔티티가 작성될 때 특정 필드의 초기 값(데이터베이스 테이블에 행이 추가될 때 값이 있는 지정된 필드)
addLoggingConfiguration("PTC.SCA.SCO.JobOrder", "ID", "CREATE");
특정 필드의 값 업데이트(데이터베이스 테이블에서 지정된 필드 값이 변경됨)
addLoggingConfiguration("PTC.SCA.SCO.JobOrder", "PlannedEndTime", "UPDATE");
모든 필드의 값 업데이트(데이터베이스 테이블의 모든 필드 값이 변경됨)
addLoggingConfiguration("PTC.SCA.SCO.JobOrder", "ALL", "UPDATE");
엔티티 삭제(데이터베이스 테이블에서 행이 제거됨)
addLoggingConfiguration("PTC.SCA.SCO.JobOrder", "DELETE");
7. 완료를 클릭한 다음 저장을 클릭하여 업데이트된 서비스를 저장합니다.
기록 데이터의 포괄적인 로깅 활성화
기록 데이터의 포괄적인 로깅을 사용하려면 다음 단계를 완료하십시오.
* 
1단계부터 3단계까지 작업을 이미 완료한 경우에는 해당 작업을 반복할 필요가 없습니다. 4단계로 바로 이동합니다.
1. PTC.DBConnection 빌딩 블록에서 확장되는 새 빌딩 블록을 만듭니다.
새 빌딩 블록을 만들려면 다음 단계를 완료하십시오.
a. 새 프로젝트를 작성합니다. 회사 이름 등 프로젝트에 고유한 접두사를 사용합니다. PTC 접두사는 PTC에서 제공하는 엔티티를 위해 예약되어 있습니다. 이 예에서는 이름이 MyCompany.DBConnection인 프로젝트를 작성합니다. 이 빌딩 블록에 대해 작성하는 각 새 사물, 사물 템플릿 또는 기타 엔티티에 대해 새 프로젝트를 ThingWorx Composer에 있는 엔티티의 일반 정보에 있는 프로젝트 값으로 추가합니다.
b. 사용자의 프로젝트에 PTC.DefaultConfiguration.EntryPoint_TT기본 사물 템플릿으로 사용하는 새 사물 템플릿을 작성합니다. 이 예에서는 새 사물 템플릿의 이름을 MyCompany.DBConnection.EntryPoint_TT로 지정합니다.
c. 1.b단계에서 만든 사물 템플릿을 기본 사물 템플릿으로 사용하는 프로젝트에서 새 사물을 작성합니다. 이 예에서는 새 사물의 이름을 MyCompany.DBConnection.EntryPoint로 지정합니다.
d. 사용자의 프로젝트에 확장 중인 PTC 빌딩 블록의 관리자 사물 템플릿을 기본 사물 템플릿으로 사용하는 새 사물 템플릿을 작성합니다. 이 예에서는 새 사물 템플릿의 이름을 MyCompany.DBConnection.HistoricalDataManager_TT로 지정하고 PTC.DBConnection.HistoricalDataManager_TT를 새 사물 템플릿의 기본 사물 템플릿으로 사용합니다.
* 
PTC.DBConnection 빌딩 블록에는 여러 관리자 사물 템플릿 및 사물이 포함되어 있습니다. 이 절차에서 재정의할 서비스는 PTC.DBConnection.HistoricalDataManager_TT에 있습니다. 이 관리자 사물 템플릿을 이 단계에서 작성하고 있는 새 사물 템플릿에 대한 기본 사물 템플릿으로 사용하고 있으며 PTC.DBConnection 빌딩 블록에 있는 다른 관리자 사물 템플릿 중 하나가 아니어야 합니다.
e. 1.d단계에서 만든 사물 템플릿을 기본 사물 템플릿으로 사용하는 프로젝트에서 새 사물을 작성합니다. 이 예에서는 새 사물의 이름을 MyCompany.DBConnection.HistoricalDataManager로 지정하고 MyCompany.DBConnection.HistoricalDataManager_TT를 새 사물의 기본 사물 템플릿으로 사용합니다.
2. 원래 빌딩 블록의 관리자 사물에서 구성을 새 빌딩 블록의 관리자 사물에 추가합니다.
a. 1.e단계에서 작성한 관리자 사물로 이동합니다. 이 예에서는 MyCompany.DBConnection.HistoricalDataManager입니다.
b. 구성에서 원래 빌딩 블록의 관리자 사물에 대한 구성 페이지에 있는 것과 동일한 구성을 추가합니다. 이 예에서는 PTC.DBConnection.HistoricalDataManager입니다.
3. 새 빌딩 블록의 관리자 사물을 빌딩 블록이 확장되는 PTC 빌딩 블록의 관리자 대신 사용할 관리자로 등록합니다.
a. PTC.Base.Manager 사물로 이동합니다.
b. 구성에서 DefaultGlobalManagerConfiguration 구성 테이블을 찾습니다.
c. 편집 아이콘.을 빌딩 블록이 확장되는 PTC 빌딩 블록의 관리자와 일치하는 managerThingName 값이 있는 행에 대해 클릭합니다.
이 예에서는 편집 아이콘.managerThingName 값이 PTC.DBConnection.HistoricalDataManager인 행에 대해 클릭합니다.
d. 편집 창에서 manageThingName 필드를 1.e단계에서 작성한 빌딩 블록에 대한 관리자 사물의 이름으로 설정합니다.
e. 설정을 클릭하여 새 값을 설정합니다.
f. 저장을 클릭하여 변경 내용을 PTC.Base.Manager 사물에 저장합니다.
4. ThingWorx Composer에서 1.d단계에서 만든 새 빌딩 블록에 대한 기록 데이터 관리자 사물 템플릿으로 이동합니다. 이 예에서는 MyCompany.DBConnection.HistoricalDataManager_TT입니다.
5. 서비스에서 LogHistoricalData 서비스를 찾아 재정의합니다.
6. 다음과 같이 스크립트 편집기에서 false 설정을 true로 변경합니다.
var result = true;
7. 완료를 클릭한 다음 저장을 클릭하여 업데이트된 서비스를 저장합니다.
도움이 되셨나요?