Логирование событий

Если вы хотите логировать события библиотеки push-уведомлений, то добавьте в вызов RuStorePushClient.init параметр logger — данный параметр является необязательным для инициализации.

Для этого необходимо реализовать интерфейс Logger:

public interface Logger {
 
    void verbose(String message, Throwable throwable);
    void debug(String message, Throwable throwable);
    void info(String message, Throwable throwable);
    void warn(String message, Throwable throwable);
    void error(String message, Throwable throwable);
 
    Logger createLogger(String tag);
}

Если Logger не будет передан, то будет использоваться реализация по умолчанию, использующая AndroidLog.

public class PushLogger implements Logger {
 
    private final String tag;
 
    public PushLogger(String tag) {
        this.tag = tag;
    }
 
    @Override
    public void debug(@NonNull String message, Throwable throwable) {
        Log.d(tag, message, throwable);
    }
 
    @Override
    public void error(@NonNull String message, Throwable throwable) {
        Log.e(tag, message, throwable);
    }
 
    @Override
    public void info(@NonNull String message, @Nullable Throwable throwable) {
        Log.i(tag, message, throwable);
    }
 
    @Override
    public void verbose(@NonNull String message, @Nullable Throwable throwable) {
        Log.v(tag, message, throwable);
    }
 
    @Override
    public void warn(@NonNull String message, @Nullable Throwable throwable) {
        Log.w(tag, message, throwable);
    }
 
    @NonNull
    @Override
    public Logger createLogger(@NonNull String newTag) {
        String combinedTag = (tag != null) ? tag + ":" + newTag : newTag;
        return new PushLogger(combinedTag);
    }
}
Обновлено 5 сентября 2023 г.
Was this information helpful?