トラブルシューティング用ログを生成する(C SDK)

問題

C SDKでインストゥルメントされたアプリケーションでNew Relicへデータを送信する際に問題が発生しているが、原因が分からない場合。

解決策

New Relic C SDKとデーモンには、各々のログがあります:

  • C SDKログ: これらのログは、New Relic C SDK APIの呼び出しを使用してコードをインストゥルメントする中でエラーが発生したために生成されるものです。
  • デーモンのログ: これらは、New Relicへのデータ送信に関連するログです。

問題のトラブルシューティングのために、最高レベルでログを生成することを推奨します:

  1. C SDKのログverboseレベルに、デーモンのログdebugレベルに設定します。
  2. 両方のログを5~10分間実行します。
  3. トラブルシューティングのためのログを生成した後、C SDKとデーモンの両方のロギングをデフォルトのレベルに戻します。

ロギングのレベルと高くすると大量のログファイルが作成され、パフォーマンスに影響する場合があります。トラブルシューティングに必要な場合にのみ、このレベルでのログを生成します。

C SDKログ

C SDKには4つのログレベルがあり、それらはlibnewrelic.henum _newrelic_loglevel_tに定義されています。ログは、デフォルトでNEWRELIC_LOG_INFOと標準誤差出力に設定されています。ログレベルには、以下が含まれます:

NEWRELIC_LOG_ERROR
NEWRELIC_LOG_WARNING
NEWRELIC_LOG_INFO (default)
NEWRELIC_LOG_DEBUG

トラブルシューティングのために異なるログレベルに設定するには:アプリケーションコードで newrelic_configure_log()を呼び出し、ログレベルを設定します。例えば:

newrelic_configure_log("./c_sdk.log", NEWRELIC_LOG_INFO);
デーモンログ

C SDKのデーモンログには、4つのログレベルがあります。ログは、デフォルトでinfoと標準誤差出力に設定されています。ログレベルには、以下が含まれます:

error
warning
info (default)
debug

これらのログレベルは、コマンドラインからフラグを使用して呼び出します:

--logfile <DAEMON_FILE_NAME>. Sets the path to the log file.
--loglevel <LOG_LEVEL>. Sets the log level. Default: info.

トラブルシューティングのために異なるログレベルに設定するには:コマンドラインから、異なるログレベルのフラグを設定します。例えば:

./newrelic-daemon -f -logfile stdout -loglevel debug

その他のヘルプ

推奨する詳細情報: