#include "logger.hpp" #include "java_types.hpp" namespace mbgl { namespace android { void Logger::registerNative(jni::JNIEnv& env) { _class = *jni::Class::Find(env).NewGlobalRef(env).release(); } jni::Class Logger::_class; void Logger::log(jni::JNIEnv& env, EventSeverity severity, const std::string &msg) { auto tag = jni::Make(env, "Mbgl"); auto message = 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