プロジェクト全体で一貫性のある包括的なログ記録を確保するために、iOS エージェントはログ記録 API を提供します。 エージェントのログ記録 API を使用して、モバイル アプリのログを New Relic に送信します。 これにより、ログが 1 か所に集められ、分析できるようになります。 詳細については、モバイル ログ API を参照してください。
ログレベルの設定
エージェントおよびリモート ログの iOS エージェントログレベルを設定できます。
エージェントログレベル
エージェント ログレベルは New Relic エージェントで設定され、どのログメッセージがデバイスのコンソールに書き込まれるかを決定します。 これには New Relic エージェント ログも含まれます。 すべての New Relic エージェントログを表示するには、ログレベルをNRLogLevelDebug
に設定します。
リモートログレベル
New Relic プラットフォームでは、リモート ログレベルによって、デバイスから New Relic に送信されるログの詳細度が制御されます。 これにより、データ量を管理し、関連する情報に焦点を当てることができます。
設定: New Relic ダッシュボードのApplicationタブでリモートログレベルを設定できます。 リモートログレベルの設定の詳細については、モバイルログを参照してください。
自動ログ収集
New Relic プラットフォームでは、リモート ログ記録が有効になっている場合、iOS エージェントはアプリからstdout
とstderr
に書き込まれたすべてのログを収集します。 NSLog()
、Swift print()
、およびその他の印刷ファミリ関数へのすべての呼び出しをキャプチャします。 この方法で収集されたログはNRLogLevelInfo
に設定されます。 この機能はデフォルトで無効になっています。 有効にするには、 NRFeatureFlag_AutoCollectLogs
機能フラグを使用します。
エージェントは、 '\n\n'
区切り文字を使用してログメッセージを区切ります。 タイムスタンプは、アプリケーションがログを書き込んだときではなく、エージェントがログを収集した時刻を反映します。 ログメッセージはエージェントによって収集される前にバッファリングされるため、これによりミリ秒の差が生じる可能性があります。
重要
この機能は Xcode の組み込みコンソールに干渉するため、デバッガーが接続されている間は有効にできません。