로깅되는 기록 데이터 구성
기록 데이터를 포괄적으로 로깅하면 상당한 성능 문제가 발생할 수 있습니다. 따라서 빌드 블록이 배포되면 기록 데이터에 대한 포괄적인 로깅이 사용 안 함으로 설정됩니다. 기록 데이터 로깅은 다른 기능에 필요한 작업으로만 제한됩니다. 기본적으로, 로깅되는 유일한 기록 데이터는 작업 정의가 생성 및 업데이트될 때의 실행 상태입니다.
포괄적인 로깅이 사용 안 함으로 설정될 때 로깅되는
제한된 작업 세트를 구성할 수 있습니다.
|
포괄적인 로깅 사용을 선택한 경우 중요한 성능 문제가 발생할 수 있다는 점에 유의하십시오.
|
제한된 작업 세트 구성
기록 데이터의 포괄적인 로깅을 비활성화할 때 로깅되는 제한된 작업 세트를 구성하려면 다음 단계를 완료하십시오.
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. 완료를 클릭한 다음 저장을 클릭하여 업데이트된 서비스를 저장합니다.