#include "logger.hpp" #include "java_types.hpp" namespace mbgl { namespace android { void Logger::registerNative(jni::JNIEnv& env) { jni::Class::Singleton(env); } void Logger::log(jni::JNIEnv& env, EventSeverity severity, const std::string &msg) { static auto _class = jni::Class::Singleton(env); auto tag = jni::SeizeLocal(env, jni::Make(env, "Mbgl")); auto message = jni::SeizeLocal(env, jni::Make(env, msg)); using Signature = void(jni::String, jni::String); if (severity == EventSeverity::Debug) { auto static debug = _class.GetStaticMethod(env, "d"); _class.Call(env, debug, *tag, *message); } else if (severity == EventSeverity::Info) { auto static info = _class.GetStaticMethod(env, "i"); _class.Call(env, info, *tag, *message); } else if(severity == EventSeverity::Warning) { auto static warning = _class.GetStaticMethod(env, "w"); _class.Call(env, warning, *tag, *message); } else { auto static error = _class.GetStaticMethod(env, "e"); _class.Call(env, error, *tag, *message); } } } // namespace android } // namespace mbgl