repositories {
mavenCentral()
}
dependencies {
implementation 'com.nhncloud.android:nhncloud-logger:1.9.4'
...
}
初期化を行わずにNhnCloudLoggerを使用すると、初期化エラーが発生します。
// Initialize Logger
NhnCloudLoggerConfiguration configuration = NhnCloudLoggerConfiguration.newBuilder()
.setAppKey(YOUR_APP_KEY) // Log & Crash Search AppKey
.build();
NhnCloudLogger.initialize(configuration);
NHN Cloud Loggerは5つのレベルのログ送信関数を提供します。
// DEBUGレベルのログ
static void debug(String message);
// INFOレベルのログ
static void info(String message);
// WARNレベルのログ
static void warn(String message);
// ERRORレベルのログ
static void error(String message);
// FATALレベルのログ
static void fatal(String message);
NhnCloudLogger.warn("NHN Cloud Log & Crash Search!");
希望するユーザー定義フィールドを設定します。 ユーザー定義フィールドを設定すると、ログ送信APIを呼び出すたびに設定した値をログと一緒にサーバーに送信します。
static void setUserField(String field, Object value);
NhnCloudLogger.setUserField("nickname", "randy");
コールバック関数を登録すると、ログ送信後に追加作業を進行できます。
static void setLoggerListener(NhnCloudLoggerListener listener);
NhnCloudLogger.setLoggerListener(new NhnCloudLoggerListener() {
@Override
public void onSuccess(LogEntry log) {
// ログ送信成功
}
@Override
public void onFilter(LogEntry log, LogFilter filter) {
// ログフィルタリング
}
@Override
public void onSave(LogEntry log) {
// ネットワーク切断などでログの送信に失敗した場合、再送信のためにSDK内部保存
}
@Override
public void onError(LogEntry log, Exception e) {
// ログ送信失敗
}
});
NHN Cloud Loggerは、アプリで予期せぬクラッシュが発生した場合に、クラッシュ情報をサーバーに記録します。
クラッシュログ送信機能は、setEnabledCrashReporter()メソッドを使用して有効化または無効化できます。
// Initialize Logger
NhnCloudLoggerConfiguration configuration = NhnCloudLoggerConfiguration.newBuilder()
.setAppKey(YOUR_APP_KEY) // Log & Crash Search AppKey
.setEnabledCrashReporter(true) // Enable or Disable Crash Reporter
.build();
NhnCloudLogger.initialize(configuration);
UserIDが設定されている場合、Log&Crash Searchコンソールの
Crash User
セクションでユーザー固有のクラッシュ体験を確認できます。 UserIDの設定は[開始する](./getting-started-android/#userid)で確認できます。
Androidプラットフォームでは、try/catch構文で例外に関する内容を、NHN Cloud LoggerのHandled Exception APIを使用して送信できます。 このように送信した例外ログは、コンソールでLog & Crash Search > アプリクラッシュ検索をクリックし、エラータイプでHandledをクリックして照会できます。 Log & Crashコンソールの詳細な使用方法は、コンソール使用ガイドを参照してください。
// 例外情報送信
static void report(@NonNull String message, @NonNull Throwable throwable);
// ユーザーフィールドと一緒に例外情報送信
static void report(@NonNull String message,
@NonNull Throwable throwable,
@Nullable Map<String, Object> userFields);
try {
// User Codes...
} catch (Exception e) {
Map<String, Object> userFields = new HashMap<>();
NhnCloudLogger.report("message", e, userFields);
}
クラッシュ発生直後、追加情報を設定できます。 setUserFieldは、クラッシュ時点に関わらず、いつでも設定でき、 setCrashDataAdapterの場合は、正確にクラッシュが発生した時点に追加情報を設定できます。
static void setCrashDataAdapter(CrashDataAdapter adapter);
NhnCloudLogger.setCrashDataAdapter(new CrashDataAdapter() {
@Override
public Map<String, Object> getUserFields() {
Map<String, Object> userFields = new HashMap<>();
userFields.put("UserField", "UserValue");
return userFields;
}
});
Network Insightsは、コンソールに登録したURLを呼び出して遅延時間とレスポンス値を測定します。これを活用して複数の国(デバイスの国コード基準)での遅延時間とレスポンス値を測定できます。
コンソールからNetwork Insights機能を有効にすると、TOAST Loggerを初期化する時、コンソールに登録したURLで1回要請します。
Network Insightsを有効にする方法は次のとおりです。
URLを設定する方法は次のとおりです。