ログサブシステム
ログサブシステムは、アプリケーション、スクリプト、通信など、さまざまなログを管理します。
コンフィギュレーション
ログ保持期間の設定
データ型
デフォルト
注記
最大ファイルサイズ (KB)
INTEGER
100000
サイズが定義されているサイズになるか超えた場合、次のログイベントによって ThingworxStorage > logs > archives フォルダへのファイルのロールオーバーがトリガされます。
ランタイムでデフォルト設定を変更して変更をただちに保存できます。
最大サイズは 1000000 KB です。
アーカイブの最大日数
INTEGER
7
毎日のロールオーバーは時間制御ではなく、ログイベントの到着に基づきます。ファイルは毎日午前 0 時に (およびログイベントの到着時にのみ) ロールオーバーされ、archives フォルダに移動します。
デフォルトでは、ログがアーカイブに入ってから 7 日以上経過すると、削除されます。デフォルトを 1 から 90 日の範囲で変更できます。
スタックトレースを有効化
BOOLEAN
false
有効にした場合、Java API で com.thingworx.logging.LogUtilities.logInstanceExceptionDetails へのサービス呼び出しエラーが発生すると、関連するスタックトレースが ThingworxStorage > logs フォルダ内の ErrorLog.log ファイルに記録されます。プラットフォームでのエラーのデバッグに役立ちます。
スクリプトスタックトレースを有効化
BOOLEAN
true
スクリプトでエラーが発生すると、関連するスタックトレースが ThingworxStorage > logs フォルダ内の ScriptErrorLog.log ファイルに記録されます。プラットフォームユーザーによって作成されたスクリプトのデバッグに役立ちます。
* 
デフォルトでは、ThingWorx プラットフォームでのスクリプトのタイムアウトの設定は 30 秒です。スクリプトがこれよりも長く実行されると、プラットフォームが実行を強制終了します。ThingWorx 管理者は、platform-settings.json コンフィギュレーションファイルの基本設定セクションでスクリプトのタイムアウトを設定できます。「platform-settings.json コンフィギュレーションの詳細」を参照してください。
ThingWorx Platform で、エラーが発生してその状態が続いている場合、ログが生成され、アプリケーション、スクリプト、データベースなどの各ログファイルに出力されます。また、エラー状態が長期間続いていると、ログファイルが似たようなログで溢れることも確認されています。
このようなシナリオを解決するために、次のコンフィギュレーションが導入されました。
必要条件
以下のフィルタを logback.xml ファイルに追加します。
<turboFilter class="com.thingworx.logging.RepetitiveLogFilterTest">
</turboFilter>
繰り返しログフィルタの設定
データ型
デフォルト値
注記
ログフィルタを有効化
BOOLEAN
false
ログフィルタを有効化または無効化します。
キャッシュサイズ
INTEGER
2000
一意のエントリが一度に保存されるキャッシュのサイズ。
許可されている繰り返し
INTEGER
10
繰り返しログを記録できる回数 (1 回目のログは繰り返しとしてカウントされません)。
書き込み後のタイムアウト
INTEGER
300
許可されている繰り返しのログを維持する時間 (秒)。
フィルタに含むパッケージ
STRING
フィルタに含めるパッケージのコンマ区切りリスト。
* 
ログのフィルタは、「フィルタに含むパッケージ」で設定されているパッケージの ERROR ログまたは WARN ログにのみ適用されます。
「ログフィルタを有効化」の値を true に変更し、「フィルタに含むパッケージ」パラメータにパッケージ名を追加することで、繰り返し発生するエラーや警告のログを追跡できます。
前述のコンフィギュレーションパラメータを変更すると、キャッシュエントリがリセットされます。設定済みのパッケージに関連するエラーログまたは警告ログの追跡が再び開始されます。
エラーログまたは警告ログの繰り返しは「許可されている繰り返し」コンフィギュレーションパラメータによって追跡されます。エラーログまたは警告ログは、設定済みの値についてのみ出力されます。
設定された回数だけ繰り返されると、「書き込み後のタイムアウト」コンフィギュレーションパラメータで設定されている時間が経過するまで、エラーログまたは警告ログの出力は一時停止します。
繰り返しログのスキップされた回数と記録された回数の詳細は DEBUG レベルのログで記録されます。
コンマ区切りリストを使用してパッケージを設定できる必要があります。記載されているパッケージに関するエラーログまたは警告ログが追跡されます。
繰り返しログフィルタの設定では、「フィルタに含むパッケージ」で完全なパッケージ名を指定する必要があります。たとえば、com.thingworx.system.subsystems.filetransfer と指定することはできますが、com.thingworx.system.subsystems または com.thingworx.system と指定することはできません。
ログレベルを DEBUG または TRACE に設定した場合、各ログのログボリュームが急激に増加します。指定された間隔の後でログレベルをリセットするための次のコンフィギュレーションが LoggingSubsystem に導入されました。
ログレベルの自動リセット設定
データ型
デフォルト値 (秒)
注記
グローバルトレースのリセット間隔
Integer
600
いずれかのログ (ApplicationLogScriptLog など) のデフォルトのログレベルが TRACE に変更された場合、指定されている時間間隔はタイマーとして機能します。タイマーがオフになると、ログレベルは以前に設定されていたレベルにリセットされます。
グローバルデバッグのリセット間隔 (秒)
Integer
600
いずれかのログ (ApplicationLog や ScriptLog など) のデフォルトのログレベルが DEBUG に変更された場合、指定されている時間間隔はタイマーとして機能します。タイマーがオフになると、ログレベルは以前に設定されていたレベルにリセットされます。
サブロガーデバッグのリセット間隔 (秒)
Integer
3600
いずれかのサブロガーパッケージが TRACE レベルに設定されている場合、指定されている時間間隔はタイマーとして機能します。タイマーがオフになると、ログレベルは各サブロガーのデフォルトのログレベルにリセットされます。
このコンフィギュレーションはログボリュームの急激な増加を制御するのに役立ちます。
サブロガートレースのリセット間隔 (秒)
Integer
3600
いずれかのサブロガーパッケージが DEBUG レベルに設定されている場合、指定されている時間間隔はタイマーとして機能します。タイマーがオフになると、ログレベルは各サブロガーのデフォルトのログレベルにリセットされます。
このコンフィギュレーションはログボリュームの急激な増加を制御するのに役立ちます。
* 
ThingWorx Platform サーバーまたはすべてのノードが再起動すると、グローバルおよびサブロガーの指定されているリセット間隔が再開します。
リセット機能では、ALL ログレベルは TRACE ログレベルと同じ効果を持ちます。別個のタイマーは存在せず、グローバル TRACE レベルとサブロガー TRACE レベルの間隔に従います。
これは役に立ちましたか?