17
17
#include < assert.h>
18
18
#include < jni.h>
19
19
20
+ #include " app/src/app_common.h"
20
21
#include " app/src/embedded_file.h"
21
22
#include " app/src/include/firebase/app.h"
22
23
#include " app/src/include/firebase/future.h"
@@ -49,10 +50,10 @@ const char kApiIdentifier[] = "Database";
49
50
// clang-format on
50
51
METHOD_LOOKUP_DECLARATION (logger_level, LOGGER_LEVEL_METHODS)
51
52
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)
56
57
57
58
// clang-format off
58
59
#define FIREBASE_DATABASE_METHODS (X ) \
@@ -166,7 +167,8 @@ Mutex DatabaseInternal::init_mutex_; // NOLINT
166
167
int DatabaseInternal::initialize_count_ = 0 ;
167
168
std::map<jint, Error>* DatabaseInternal::java_error_to_cpp_ = nullptr ;
168
169
169
- DatabaseInternal::DatabaseInternal (App* app) : log_level_(kLogLevelInfo ) {
170
+ DatabaseInternal::DatabaseInternal (App* app)
171
+ : logger_(app_common::FindAppLoggerByName(app->name ())) {
170
172
app_ = nullptr ;
171
173
if (!Initialize (app)) return ;
172
174
app_ = app;
@@ -179,7 +181,7 @@ DatabaseInternal::DatabaseInternal(App* app) : log_level_(kLogLevelInfo) {
179
181
platform_app);
180
182
env->DeleteLocalRef (platform_app);
181
183
if (database_obj == nullptr ) {
182
- LogWarning (" Could not create default Database" );
184
+ logger_. LogWarning (" Could not create default Database" );
183
185
util::CheckAndClearJniExceptions (env);
184
186
// Something went wrong -> uninitialize the database
185
187
Terminate (app_);
@@ -191,7 +193,8 @@ DatabaseInternal::DatabaseInternal(App* app) : log_level_(kLogLevelInfo) {
191
193
}
192
194
193
195
DatabaseInternal::DatabaseInternal (App* app, const char * url)
194
- : constructor_url_(url), log_level_(kLogLevelInfo ) {
196
+ : constructor_url_(url),
197
+ logger_(app_common::FindAppLoggerByName(app->name ())) {
195
198
app_ = nullptr ;
196
199
if (!Initialize (app)) return ;
197
200
app_ = app;
@@ -205,7 +208,7 @@ DatabaseInternal::DatabaseInternal(App* app, const char* url)
205
208
platform_app, url_string);
206
209
env->DeleteLocalRef (platform_app);
207
210
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);
209
212
util::CheckAndClearJniExceptions (env);
210
213
// Something went wrong -> uninitialize the database
211
214
Terminate (app_);
@@ -238,12 +241,12 @@ static const struct {
238
241
239
242
// C++ log levels mapped to Logger.Level enum value names.
240
243
const 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
247
250
};
248
251
249
252
bool DatabaseInternal::Initialize (App* app) {
@@ -462,7 +465,8 @@ DatabaseReference DatabaseInternal::GetReference(const char* path) const {
462
465
path_string);
463
466
env->DeleteLocalRef (path_string);
464
467
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);
466
470
util::CheckAndClearJniExceptions (env);
467
471
return DatabaseReference (nullptr );
468
472
}
@@ -482,7 +486,7 @@ DatabaseReference DatabaseInternal::GetReferenceFromUrl(const char* url) const {
482
486
url_string);
483
487
env->DeleteLocalRef (url_string);
484
488
if (database_reference_obj == nullptr ) {
485
- LogWarning (
489
+ logger_. LogWarning (
486
490
" Database::GetReferenceFromUrl(): URL '%s' does not match the "
487
491
" Database URL." ,
488
492
url);
@@ -530,27 +534,26 @@ void DatabaseInternal::set_log_level(LogLevel log_level) {
530
534
(sizeof (kCppLogLevelToLoggerLevelName ) /
531
535
sizeof (kCppLogLevelToLoggerLevelName [0 ])));
532
536
JNIEnv* env = app_->GetJNIEnv ();
533
- jstring enum_name = env-> NewStringUTF (
534
- kCppLogLevelToLoggerLevelName [log_level]);
537
+ jstring enum_name =
538
+ env-> NewStringUTF ( kCppLogLevelToLoggerLevelName [log_level]);
535
539
if (!util::CheckAndClearJniExceptions (env)) {
536
540
jobject log_level_enum_obj = env->CallStaticObjectMethod (
537
541
logger_level::GetClass (),
538
542
logger_level::GetMethodId (logger_level::kValueOf ), enum_name);
539
543
if (!util::CheckAndClearJniExceptions (env)) {
540
544
env->CallVoidMethod (
541
- obj_,
542
- firebase_database::GetMethodId (firebase_database::kSetLogLevel ),
545
+ obj_, firebase_database::GetMethodId (firebase_database::kSetLogLevel ),
543
546
log_level_enum_obj);
544
547
if (!util::CheckAndClearJniExceptions (env)) {
545
- log_level_ = log_level;
548
+ logger_. SetLogLevel ( log_level) ;
546
549
}
547
550
env->DeleteLocalRef (log_level_enum_obj);
548
551
}
549
552
env->DeleteLocalRef (enum_name);
550
553
}
551
554
}
552
555
553
- LogLevel DatabaseInternal::log_level () const { return log_level_ ; }
556
+ LogLevel DatabaseInternal::log_level () const { return logger_. GetLogLevel () ; }
554
557
555
558
Error DatabaseInternal::ErrorFromResultAndErrorCode (
556
559
util::FutureResult result_code, jint error_code) const {
0 commit comments