aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/src/firebase/firestore/util/log_apple.mm
diff options
context:
space:
mode:
Diffstat (limited to 'Firestore/core/src/firebase/firestore/util/log_apple.mm')
-rw-r--r--Firestore/core/src/firebase/firestore/util/log_apple.mm77
1 files changed, 14 insertions, 63 deletions
diff --git a/Firestore/core/src/firebase/firestore/util/log_apple.mm b/Firestore/core/src/firebase/firestore/util/log_apple.mm
index cb2c58e..45e4f55 100644
--- a/Firestore/core/src/firebase/firestore/util/log_apple.mm
+++ b/Firestore/core/src/firebase/firestore/util/log_apple.mm
@@ -19,6 +19,7 @@
#import <FirebaseCore/FIRLogger.h>
#import <Foundation/Foundation.h>
+#include <cstdarg>
#include <string>
#include "Firestore/core/src/firebase/firestore/util/string_apple.h"
@@ -32,90 +33,40 @@ namespace {
// Translates a C++ LogLevel to the equivalent Objective-C FIRLoggerLevel
FIRLoggerLevel ToFIRLoggerLevel(LogLevel level) {
switch (level) {
- case kLogLevelVerbose: // fall through
case kLogLevelDebug:
return FIRLoggerLevelDebug;
- case kLogLevelInfo:
- return FIRLoggerLevelInfo;
case kLogLevelWarning:
return FIRLoggerLevelWarning;
- case kLogLevelError:
- return FIRLoggerLevelError;
default:
// Unsupported log level. FIRSetLoggerLevel will deal with it.
return static_cast<FIRLoggerLevel>(-1);
}
}
-} // namespace
-
-void LogSetLevel(LogLevel level) {
- FIRSetLoggerLevel(ToFIRLoggerLevel(level));
-}
-
-LogLevel LogGetLevel() {
- // We return the true log level. True log level is what the SDK used to
- // determine whether to log instead of what parameter is used in the last call
- // of LogSetLevel().
- if (FIRIsLoggableLevel(FIRLoggerLevelInfo, NO)) {
- if (FIRIsLoggableLevel(FIRLoggerLevelDebug, NO)) {
- // FIRLoggerLevelMax is actually kLogLevelDebug right now. We do not check
- // further.
- return kLogLevelDebug;
- } else {
- return kLogLevelInfo;
- }
- } else {
- if (FIRIsLoggableLevel(FIRLoggerLevelWarning, NO)) {
- return kLogLevelWarning;
- } else {
- return kLogLevelError;
- }
- }
-}
-
-void LogDebug(const char* format, ...) {
+// Actually logs a message via FIRLogger. This must be a C varargs function
+// so that we can call FIRLogBasic which takes a `va_list`.
+void LogMessageV(LogLevel level, NSString* format, ...) {
va_list list;
va_start(list, format);
- FIRLogBasic(FIRLoggerLevelDebug, kFIRLoggerFirestore, @"I-FST000001",
- WrapNSStringNoCopy(format), list);
- va_end(list);
-}
-void LogInfo(const char* format, ...) {
- va_list list;
- va_start(list, format);
- FIRLogBasic(FIRLoggerLevelInfo, kFIRLoggerFirestore, @"I-FST000001",
- WrapNSStringNoCopy(format), list);
- va_end(list);
-}
+ FIRLogBasic(ToFIRLoggerLevel(level), kFIRLoggerFirestore, @"I-FST000001",
+ format, list);
-void LogWarning(const char* format, ...) {
- va_list list;
- va_start(list, format);
- FIRLogBasic(FIRLoggerLevelWarning, kFIRLoggerFirestore, @"I-FST000001",
- WrapNSStringNoCopy(format), list);
va_end(list);
}
-void LogError(const char* format, ...) {
- va_list list;
- va_start(list, format);
- FIRLogBasic(FIRLoggerLevelError, kFIRLoggerFirestore, @"I-FST000001",
- WrapNSStringNoCopy(format), list);
- va_end(list);
+} // namespace
+
+void LogSetLevel(LogLevel level) {
+ FIRSetLoggerLevel(ToFIRLoggerLevel(level));
}
-void LogMessageV(LogLevel log_level, const char* format, va_list args) {
- FIRLogBasic(ToFIRLoggerLevel(log_level), kFIRLoggerFirestore, @"I-FST000001",
- WrapNSStringNoCopy(format), args);
+bool LogIsLoggable(LogLevel level) {
+ return FIRIsLoggableLevel(ToFIRLoggerLevel(level), NO);
}
-void LogMessage(LogLevel log_level, const char* format, ...) {
- va_list list;
- va_start(list, format);
- LogMessageV(log_level, format, list);
- va_end(list);
+void LogMessage(LogLevel level, const std::string& message) {
+ LogMessageV(level, @"%s", message.c_str());
}
} // namespace util