android/LogListener: pass formatted message to OnLog()
This commit is contained in:
parent
4db882f666
commit
4d32454697
@ -183,9 +183,14 @@ Log(LogLevel level, const Domain &domain, const char *msg) noexcept
|
|||||||
#ifdef ANDROID
|
#ifdef ANDROID
|
||||||
__android_log_print(ToAndroidLogLevel(level), "MPD",
|
__android_log_print(ToAndroidLogLevel(level), "MPD",
|
||||||
"%s: %s", domain.GetName(), msg);
|
"%s: %s", domain.GetName(), msg);
|
||||||
if (logListener != nullptr)
|
if (logListener != nullptr) {
|
||||||
|
char buffer[1024];
|
||||||
|
snprintf(buffer, sizeof(buffer), "%s: %s",
|
||||||
|
domain.GetName(), msg);
|
||||||
|
|
||||||
logListener->OnLog(Java::GetEnv(), ToAndroidLogLevel(level),
|
logListener->OnLog(Java::GetEnv(), ToAndroidLogLevel(level),
|
||||||
"%s: %s", domain.GetName(), msg);
|
buffer);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
|
|
||||||
if (level < log_threshold)
|
if (level < log_threshold)
|
||||||
|
@ -20,8 +20,6 @@
|
|||||||
#include "LogListener.hxx"
|
#include "LogListener.hxx"
|
||||||
#include "java/Class.hxx"
|
#include "java/Class.hxx"
|
||||||
#include "java/String.hxx"
|
#include "java/String.hxx"
|
||||||
#include "util/AllocatedString.hxx"
|
|
||||||
#include "util/FormatString.hxx"
|
|
||||||
|
|
||||||
LogListener::LogListener(JNIEnv *env, jobject obj) noexcept
|
LogListener::LogListener(JNIEnv *env, jobject obj) noexcept
|
||||||
:Java::GlobalObject(env, obj)
|
:Java::GlobalObject(env, obj)
|
||||||
@ -33,16 +31,10 @@ LogListener::LogListener(JNIEnv *env, jobject obj) noexcept
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
LogListener::OnLog(JNIEnv *env, int priority,
|
LogListener::OnLog(JNIEnv *env, int priority, const char *msg) const noexcept
|
||||||
const char *fmt, ...) const noexcept
|
|
||||||
{
|
{
|
||||||
assert(env != nullptr);
|
assert(env != nullptr);
|
||||||
|
|
||||||
std::va_list args;
|
|
||||||
va_start(args, fmt);
|
|
||||||
const auto log = FormatStringV(fmt, args);
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
env->CallVoidMethod(Get(), onLogMethod, priority,
|
env->CallVoidMethod(Get(), onLogMethod, priority,
|
||||||
Java::String(env, log.c_str()).Get());
|
Java::String(env, msg).Get());
|
||||||
}
|
}
|
||||||
|
@ -28,8 +28,7 @@ class LogListener : public Java::GlobalObject {
|
|||||||
public:
|
public:
|
||||||
LogListener(JNIEnv *env, jobject obj) noexcept;
|
LogListener(JNIEnv *env, jobject obj) noexcept;
|
||||||
|
|
||||||
void OnLog(JNIEnv *env, int priority,
|
void OnLog(JNIEnv *env, int priority, const char *msg) const noexcept;
|
||||||
const char *fmt, ...) const noexcept;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user