Skip to content

Commit 492dffb

Browse files
Googlera-maurice
authored andcommitted
Fix enabling debug logging from Unity in iOS.
Previously, setting FirebaseFirestore.LogLevel to LogLevel.Debug would get bumped back to LogLevel.Info as an unexpected side effect of creating of a new firebase::App object. The apparent effect to users was that enabling debug logging had no effect. This made it challenging to debug issues with customers because they were unable to collect valuable debug logs when using iOS as their platform. PiperOrigin-RevId: 319056991
1 parent 69e733e commit 492dffb

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

firestore/src/ios/firestore_ios.cc

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -270,21 +270,28 @@ void Firestore::set_log_level(LogLevel log_level) {
270270
case kLogLevelDebug:
271271
// Firestore doesn't have the distinction between "verbose" and "debug".
272272
LogSetLevel(util::kLogLevelDebug);
273-
return;
273+
break;
274274
case kLogLevelInfo:
275275
LogSetLevel(util::kLogLevelNotice);
276-
return;
276+
break;
277277
case kLogLevelWarning:
278278
LogSetLevel(util::kLogLevelWarning);
279-
return;
279+
break;
280280
case kLogLevelError:
281281
case kLogLevelAssert:
282282
// Firestore doesn't have a separate "assert" log level.
283283
LogSetLevel(util::kLogLevelError);
284-
return;
284+
break;
285+
default:
286+
UNREACHABLE();
287+
break;
285288
}
286289

287-
UNREACHABLE();
290+
// Call SetLogLevel() to keep the C++ log level in sync with FIRLogger's.
291+
// Convert kLogLevelDebug to kLogLevelVerbose to force debug logs to be
292+
// emitted. See b/159048318 for details.
293+
firebase::SetLogLevel(log_level == kLogLevelDebug ? kLogLevelVerbose
294+
: log_level);
288295
}
289296

290297
} // namespace firestore

0 commit comments

Comments
 (0)