1717#include < assert.h>
1818#include < jni.h>
1919
20+ #include " app/src/app_common.h"
2021#include " app/src/embedded_file.h"
2122#include " app/src/include/firebase/app.h"
2223#include " app/src/include/firebase/future.h"
@@ -49,10 +50,10 @@ const char kApiIdentifier[] = "Database";
4950// clang-format on
5051METHOD_LOOKUP_DECLARATION (logger_level, LOGGER_LEVEL_METHODS)
5152
52- METHOD_LOOKUP_DEFINITION (
53- logger_level,
54- PROGUARD_KEEP_CLASS " com/google/firebase/database/Logger$Level" ,
55- LOGGER_LEVEL_METHODS)
53+ METHOD_LOOKUP_DEFINITION (logger_level,
54+ PROGUARD_KEEP_CLASS
55+ " com/google/firebase/database/Logger$Level" ,
56+ LOGGER_LEVEL_METHODS)
5657
5758// clang-format off
5859#define FIREBASE_DATABASE_METHODS (X ) \
@@ -166,7 +167,8 @@ Mutex DatabaseInternal::init_mutex_; // NOLINT
166167int DatabaseInternal::initialize_count_ = 0 ;
167168std::map<jint, Error>* DatabaseInternal::java_error_to_cpp_ = nullptr ;
168169
169- DatabaseInternal::DatabaseInternal (App* app) : log_level_(kLogLevelInfo ) {
170+ DatabaseInternal::DatabaseInternal (App* app)
171+ : logger_(app_common::FindAppLoggerByName(app->name ())) {
170172 app_ = nullptr ;
171173 if (!Initialize (app)) return ;
172174 app_ = app;
@@ -179,7 +181,7 @@ DatabaseInternal::DatabaseInternal(App* app) : log_level_(kLogLevelInfo) {
179181 platform_app);
180182 env->DeleteLocalRef (platform_app);
181183 if (database_obj == nullptr ) {
182- LogWarning (" Could not create default Database" );
184+ logger_. LogWarning (" Could not create default Database" );
183185 util::CheckAndClearJniExceptions (env);
184186 // Something went wrong -> uninitialize the database
185187 Terminate (app_);
@@ -191,7 +193,8 @@ DatabaseInternal::DatabaseInternal(App* app) : log_level_(kLogLevelInfo) {
191193}
192194
193195DatabaseInternal::DatabaseInternal (App* app, const char * url)
194- : constructor_url_(url), log_level_(kLogLevelInfo ) {
196+ : constructor_url_(url),
197+ logger_(app_common::FindAppLoggerByName(app->name ())) {
195198 app_ = nullptr ;
196199 if (!Initialize (app)) return ;
197200 app_ = app;
@@ -205,7 +208,7 @@ DatabaseInternal::DatabaseInternal(App* app, const char* url)
205208 platform_app, url_string);
206209 env->DeleteLocalRef (platform_app);
207210 if (database_obj == nullptr ) {
208- LogWarning (" Could not create Database with URL '%s' ." , url);
211+ logger_. LogWarning (" Could not create Database with URL '%s' ." , url);
209212 util::CheckAndClearJniExceptions (env);
210213 // Something went wrong -> uninitialize the database
211214 Terminate (app_);
@@ -238,12 +241,12 @@ static const struct {
238241
239242// C++ log levels mapped to Logger.Level enum value names.
240243const char * kCppLogLevelToLoggerLevelName [] = {
241- " DEBUG" , // kLogLevelVerbose --> Logger.Level.DEBUG
242- " DEBUG" , // kLogLevelDebug --> Logger.Level.DEBUG
243- " INFO" , // kLogLevelInfo --> Logger.Level.INFO
244- " WARN" , // kLogLevelWarning --> Logger.Level.WARN
245- " ERROR" , // kLogLevelError --> Logger.Level.ERROR
246- " NONE" , // kLogLevelAssert --> Logger.Level.NONE
244+ " DEBUG" , // kLogLevelVerbose --> Logger.Level.DEBUG
245+ " DEBUG" , // kLogLevelDebug --> Logger.Level.DEBUG
246+ " INFO" , // kLogLevelInfo --> Logger.Level.INFO
247+ " WARN" , // kLogLevelWarning --> Logger.Level.WARN
248+ " ERROR" , // kLogLevelError --> Logger.Level.ERROR
249+ " NONE" , // kLogLevelAssert --> Logger.Level.NONE
247250};
248251
249252bool DatabaseInternal::Initialize (App* app) {
@@ -462,7 +465,8 @@ DatabaseReference DatabaseInternal::GetReference(const char* path) const {
462465 path_string);
463466 env->DeleteLocalRef (path_string);
464467 if (database_reference_obj == nullptr ) {
465- LogWarning (" Database::GetReference(): Invalid path specified: %s" , path);
468+ logger_.LogWarning (" Database::GetReference(): Invalid path specified: %s" ,
469+ path);
466470 util::CheckAndClearJniExceptions (env);
467471 return DatabaseReference (nullptr );
468472 }
@@ -482,7 +486,7 @@ DatabaseReference DatabaseInternal::GetReferenceFromUrl(const char* url) const {
482486 url_string);
483487 env->DeleteLocalRef (url_string);
484488 if (database_reference_obj == nullptr ) {
485- LogWarning (
489+ logger_. LogWarning (
486490 " Database::GetReferenceFromUrl(): URL '%s' does not match the "
487491 " Database URL." ,
488492 url);
@@ -530,27 +534,26 @@ void DatabaseInternal::set_log_level(LogLevel log_level) {
530534 (sizeof (kCppLogLevelToLoggerLevelName ) /
531535 sizeof (kCppLogLevelToLoggerLevelName [0 ])));
532536 JNIEnv* env = app_->GetJNIEnv ();
533- jstring enum_name = env-> NewStringUTF (
534- kCppLogLevelToLoggerLevelName [log_level]);
537+ jstring enum_name =
538+ env-> NewStringUTF ( kCppLogLevelToLoggerLevelName [log_level]);
535539 if (!util::CheckAndClearJniExceptions (env)) {
536540 jobject log_level_enum_obj = env->CallStaticObjectMethod (
537541 logger_level::GetClass (),
538542 logger_level::GetMethodId (logger_level::kValueOf ), enum_name);
539543 if (!util::CheckAndClearJniExceptions (env)) {
540544 env->CallVoidMethod (
541- obj_,
542- firebase_database::GetMethodId (firebase_database::kSetLogLevel ),
545+ obj_, firebase_database::GetMethodId (firebase_database::kSetLogLevel ),
543546 log_level_enum_obj);
544547 if (!util::CheckAndClearJniExceptions (env)) {
545- log_level_ = log_level;
548+ logger_. SetLogLevel ( log_level) ;
546549 }
547550 env->DeleteLocalRef (log_level_enum_obj);
548551 }
549552 env->DeleteLocalRef (enum_name);
550553 }
551554}
552555
553- LogLevel DatabaseInternal::log_level () const { return log_level_ ; }
556+ LogLevel DatabaseInternal::log_level () const { return logger_. GetLogLevel () ; }
554557
555558Error DatabaseInternal::ErrorFromResultAndErrorCode (
556559 util::FutureResult result_code, jint error_code) const {
0 commit comments