1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-04 10:19:33 +02:00

standard android logging method

This commit is contained in:
Nikolay Pultsin 2012-03-17 11:37:22 +00:00
parent 01799d5f22
commit 2449325867
4 changed files with 5 additions and 31 deletions

View file

@ -33,7 +33,7 @@ SHAREDIR_MACRO := nativeShare
LOCAL_MODULE := NativeFormats-v1 LOCAL_MODULE := NativeFormats-v1
LOCAL_CFLAGS := -Wall -DBASEDIR=\"$(SHAREDIR_MACRO)\" LOCAL_CFLAGS := -Wall -DBASEDIR=\"$(SHAREDIR_MACRO)\"
LOCAL_LDLIBS := -lz LOCAL_LDLIBS := -lz -llog
LOCAL_STATIC_LIBRARIES := expat LOCAL_STATIC_LIBRARIES := expat
LOCAL_SRC_FILES := \ LOCAL_SRC_FILES := \

View file

@ -21,7 +21,6 @@
JavaVM *AndroidUtil::ourJavaVM = 0; JavaVM *AndroidUtil::ourJavaVM = 0;
const char * const AndroidUtil::Class_java_lang_System = "java/lang/System";
const char * const AndroidUtil::Class_java_lang_String = "java/lang/String"; const char * const AndroidUtil::Class_java_lang_String = "java/lang/String";
const char * const AndroidUtil::Class_java_util_Collection = "java/util/Collection"; const char * const AndroidUtil::Class_java_util_Collection = "java/util/Collection";
const char * const AndroidUtil::Class_java_util_Locale = "java/util/Locale"; const char * const AndroidUtil::Class_java_util_Locale = "java/util/Locale";
@ -36,8 +35,6 @@ const char * const AndroidUtil::Class_Book = "org/geometerplus/fbreader/library/
const char * const AndroidUtil::Class_Tag = "org/geometerplus/fbreader/library/Tag"; const char * const AndroidUtil::Class_Tag = "org/geometerplus/fbreader/library/Tag";
const char * const AndroidUtil::Class_NativeBookModel = "org/geometerplus/fbreader/bookmodel/NativeBookModel"; const char * const AndroidUtil::Class_NativeBookModel = "org/geometerplus/fbreader/bookmodel/NativeBookModel";
jobject AndroidUtil::OBJECT_java_lang_System_err;
jmethodID AndroidUtil::MID_java_lang_String_toLowerCase; jmethodID AndroidUtil::MID_java_lang_String_toLowerCase;
jmethodID AndroidUtil::MID_java_lang_String_toUpperCase; jmethodID AndroidUtil::MID_java_lang_String_toUpperCase;
@ -105,12 +102,6 @@ bool AndroidUtil::init(JavaVM* jvm) {
JNIEnv *env = getEnv(); JNIEnv *env = getEnv();
jclass cls; jclass cls;
CHECK_NULL( cls = env->FindClass(Class_java_lang_System) );
jfieldID field;
CHECK_NULL( field = env->GetStaticFieldID(cls, "err", "Ljava/io/PrintStream;") );
CHECK_NULL( OBJECT_java_lang_System_err = env->GetStaticObjectField(cls, field) );
env->DeleteLocalRef(cls);
CHECK_NULL( cls = env->FindClass(Class_java_lang_String) ); CHECK_NULL( cls = env->FindClass(Class_java_lang_String) );
CHECK_NULL( MID_java_lang_String_toLowerCase = env->GetMethodID(cls, "toLowerCase", "()Ljava/lang/String;") ); CHECK_NULL( MID_java_lang_String_toLowerCase = env->GetMethodID(cls, "toLowerCase", "()Ljava/lang/String;") );
CHECK_NULL( MID_java_lang_String_toUpperCase = env->GetMethodID(cls, "toUpperCase", "()Ljava/lang/String;") ); CHECK_NULL( MID_java_lang_String_toUpperCase = env->GetMethodID(cls, "toUpperCase", "()Ljava/lang/String;") );

View file

@ -31,7 +31,6 @@ private:
static JavaVM *ourJavaVM; static JavaVM *ourJavaVM;
public: public:
static const char * const Class_java_lang_System;
static const char * const Class_java_lang_String; static const char * const Class_java_lang_String;
static const char * const Class_java_util_Collection; static const char * const Class_java_util_Collection;
static const char * const Class_java_util_Locale; static const char * const Class_java_util_Locale;
@ -46,8 +45,6 @@ public:
static const char * const Class_Tag; static const char * const Class_Tag;
static const char * const Class_NativeBookModel; static const char * const Class_NativeBookModel;
static jobject OBJECT_java_lang_System_err;
static jmethodID MID_java_lang_String_toLowerCase; static jmethodID MID_java_lang_String_toLowerCase;
static jmethodID MID_java_lang_String_toUpperCase; static jmethodID MID_java_lang_String_toUpperCase;

View file

@ -17,7 +17,7 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
#include <AndroidUtil.h> #include <android/log.h>
#include "ZLLogger.h" #include "ZLLogger.h"
@ -25,17 +25,6 @@ const std::string ZLLogger::DEFAULT_CLASS;
ZLLogger *ZLLogger::ourInstance = 0; ZLLogger *ZLLogger::ourInstance = 0;
static void printInternal(const std::string &message) {
JNIEnv *env = AndroidUtil::getEnv();
jstring javaMessage = AndroidUtil::createJavaString(env, message);
env->CallVoidMethod(
AndroidUtil::OBJECT_java_lang_System_err,
AndroidUtil::MID_java_io_PrintStream_println,
javaMessage
);
env->DeleteLocalRef(javaMessage);
}
ZLLogger &ZLLogger::Instance() { ZLLogger &ZLLogger::Instance() {
if (ourInstance == 0) { if (ourInstance == 0) {
ourInstance = new ZLLogger(); ourInstance = new ZLLogger();
@ -52,13 +41,10 @@ void ZLLogger::registerClass(const std::string &className) {
void ZLLogger::print(const std::string &className, const std::string &message) const { void ZLLogger::print(const std::string &className, const std::string &message) const {
if (className == DEFAULT_CLASS) { if (className == DEFAULT_CLASS) {
printInternal(message); __android_log_print(ANDROID_LOG_WARN, "ZLLogger", message.c_str());
} else { } else {
std::set<std::string>::const_iterator it = if (myRegisteredClasses.find(className) != myRegisteredClasses.end()) {
myRegisteredClasses.find(className); __android_log_print(ANDROID_LOG_WARN, className.c_str(), message.c_str());
if (it != myRegisteredClasses.end()) {
printInternal(className + ": " + message);
} }
} }
} }