로깅 하위 시스템
로깅 하위 시스템은 응용 프로그램, 스크립트 및 통신과 같은 다양한 로그를 관리합니다.
구성
로그 보존 설정
데이터 유형
기본값
설명
최대 파일 크기(단위: KB)
INTEGER
100000
정의된 크기에 도달하거나 초과하면 다음 로그 이벤트가 ThingworxStorage> logs> archives 폴더로 파일 롤오버를 트리거합니다.
실행 시간 시 기본 설정을 변경하여 변경 사항을 즉시 저장할 수 있습니다.
최대 크기는 1000000KB입니다.
최대 보관 일 수
INTEGER
7
일일 롤오버는 시계 기반이 아니라 로깅 이벤트의 도착을 기반으로 합니다. 파일은 매일 자정(로그 이벤트가 도착한 경우에만)에 롤오버되고 archives 폴더로 이동합니다.
기본적으로 보관된 로그가 7일 이상이 되면 삭제됩니다. 기본값을 1일 또는 최대 90일로 변경할 수 있습니다.
스택 추적 사용
BOOLEAN
false
설정되면, com.thingworx.logging.LogUtilities.logInstanceExceptionDetails의 Java API에서 서비스 호출 오류가 발생할 때 연관된 스택 추적이 ThingworxStorage > logs 폴더의 ErrorLog.log 파일에 기록됩니다. 플랫폼의 오류를 디버깅하는 데 유용합니다.
스크립트 스택 추적 사용
BOOLEAN
true
스크립트에 오류가 발생하면 연관된 스택 추적이 ThingworxStorage>logs 폴더에 있는 ScriptErrorLog.log 파일에 기록됩니다. 플랫폼 사용자가 생성한 스크립트를 디버깅하는 데 유용합니다.
* 
기본적으로 ThingWorx Platform의 스크립트 제한 시간 설정은 30초입니다. 스크립트가 이보다 길게 실행되면 Platform에서 실행을 종료합니다. ThingWorx 관리자는 platform-settings.json 구성 파일의 기본 설정 섹션에서 스크립트 제한 시간을 구성할 수 있습니다. platform-settings.json 구성 세부 정보를 참조하십시오.
ThingWorx Platform에서는 오류가 발생하고 지속되면 로그가 생성되어 해당 로그 파일(응용 프로그램, 스크립트, 데이터베이스 등)에 인쇄됩니다. 또한 오류가 장기간 지속되어 결과적으로 유사한 로그 파일이 넘쳐 나는 현상이 관찰되었습니다.
이 시나리오를 해결하기 위해 다음 구성이 도입되었습니다.
사전 요구 사항
logback.xml 파일에 다음 필터를 추가합니다.
<turboFilter class="com.thingworx.logging.RepetitiveLogFilterTest">
</turboFilter>
반복 로그 필터 설정
데이터 유형
기본값
설명
로그 필터링 사용
BOOLEAN
false
로그 필터링을 활성화하거나 비활성화합니다.
캐시 크기
INTEGER
2000
한 번에 고유한 엔트리를 저장할 캐시의 크기입니다.
허용된 반복
INTEGER
10
반복 로그를 로깅할 수 있는 횟수입니다(첫 번째 발생은 반복으로 계산되지 않음).
쓰기 후 만료(초)
INTEGER
300
허용된 반복의 로깅을 유지하는 기간(초)입니다.
필터링을 위한 패키지 포함
STRING
필터링을 위해 포함할 쉼표로 구분된 패키지 목록입니다.
* 
로그의 필터링은 필터링을 위한 패키지 포함 아래에 구성된 패키지에 대해 ERROR 또는 WARN 로그에만 적용됩니다.
로그 필터링 사용 값을 true로 변경하고 필터링을 위한 패키지 포함 매개 변수에 패키지 이름을 추가하면 반복 오류 또는 경고 로그를 추적할 수 있습니다.
이전에 언급한 구성 매개 변수를 변경하면 캐시 엔트리를 재설정합니다. 구성된 패키지 관련 오류 또는 경고 로그 추적이 재시작됩니다.
오류 또는 경고 로그 반복은 허용된 반복 구성 매개 변수를 통해 추적됩니다. 오류 또는 경고 로그는 구성된 값에 대해서만 인쇄됩니다.
오류 또는 경고 로그 인쇄는 구성된 반복 횟수 이후 및 쓰기 후 만료(초) 구성 매개 변수에 언급된 시간이 만료될 때까지 일시 중지됩니다.
반복 로그 세부 정보 중 건너뛴 횟수와 로깅된 횟수는 DEBUG 수준 로그와 함께 로깅됩니다.
쉼표로 구분된 목록을 통해 패키지를 구성할 수 있어야 합니다. 언급된 패키지는 오류 또는 경고 로그에 대해 추적됩니다.
반복 로그 필터 설정을 사용하려면 필터링을 위한 패키지 포함에서 전체 패키지 이름을 언급해야 합니다. 예를 들어, com.thingworx.system.subsystems.filetransfer는 허용되지만 com.thingworx.system.subsystems 또는 com.thingworx.system은 허용되지 않습니다.
로그 수준을 DEBUG 또는 TRACE로 설정하면 해당 로그에 대한 로그 볼륨이 기하급수적으로 증가합니다. 언급된 간격 후에 로그 수준을 재설정하기 위해 LoggingSubsystem에 다음 구성이 도입되었습니다.
로그 수준 자동 재설정 설정
데이터 유형
기본값(초)
설명
글로벌 추적 재설정 간격(초)
Integer
600
모든 로그(예: ApplicationLog, ScriptLog)에 대해 기본 로그 수준이 TRACE로 변경되면 언급된 시간 간격이 타이머 역할을 합니다. 타이머가 꺼지면 로그 수준이 이전에 설정된 수준으로 다시 재설정됩니다.
글로벌 디버그 재설정 간격(초)
Integer
600
모든 로그(예: ApplicationLog, ScriptLog)에 대해 기본 로그 수준이 DEBUG로 변경되면 언급된 시간 간격이 타이머 역할을 합니다. 타이머가 꺼지면 로그 수준이 이전에 설정된 수준으로 다시 재설정됩니다.
서브로거 디버그 재설정 간격(초)
Integer
3600
서브로거 패키지가 TRACE 수준으로 설정되면 언급된 시간 간격이 타이머 역할을 합니다. 타이머가 꺼지면 로그 수준이 해당 서브로거에 대한 기본 로그 수준으로 다시 재설정됩니다.
이 구성은 로그 볼륨의 기하급수적인 증가를 제어하는 데 도움이 됩니다.
서브로거 추적 재설정 간격(초)
Integer
3600
서브로거 패키지가 DEBUG 수준으로 설정되면 언급된 시간 간격이 타이머 역할을 합니다. 타이머가 꺼지면 로그 수준이 해당 서브로거에 대한 기본 로그 수준으로 다시 재설정됩니다.
이 구성은 로그 볼륨의 기하급수적인 증가를 제어하는 데 도움이 됩니다.
* 
ThingWorx Platform 서버 또는 모든 노드가 재시작되면 글로벌 및 서브로거에 대해 언급된 재설정 간격이 재시작됩니다.
모든 로그 수준은 재설정 기능에 대한 TRACE 로그 수준과 동일한 효과를 갖습니다. 별도의 타이머가 없으며 글로벌 및 서브로거 TRACE 수준의 간격을 따릅니다.
도움이 되셨나요?