Skip to content

Commit a1e4be7

Browse files
authored
[Core] Add logging level getter to FIRConfiguration (#13815)
1 parent a366d6c commit a1e4be7

File tree

4 files changed

+28
-1
lines changed

4 files changed

+28
-1
lines changed

FirebaseCore/Sources/FIRConfiguration.m

+10-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#import "FirebaseCore/Sources/FIRAnalyticsConfiguration.h"
1818

1919
extern void FIRSetLoggerLevel(FIRLoggerLevel loggerLevel);
20+
extern FIRLoggerLevel FIRGetLoggerLevel(void);
2021

2122
@implementation FIRConfiguration
2223

@@ -40,7 +41,15 @@ - (instancetype)init {
4041
- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel {
4142
NSAssert(loggerLevel <= FIRLoggerLevelMax && loggerLevel >= FIRLoggerLevelMin,
4243
@"Invalid logger level, %ld", (long)loggerLevel);
43-
FIRSetLoggerLevel(loggerLevel);
44+
@synchronized(self) {
45+
FIRSetLoggerLevel(loggerLevel);
46+
}
47+
}
48+
49+
- (FIRLoggerLevel)loggerLevel {
50+
@synchronized(self) {
51+
return FIRGetLoggerLevel();
52+
}
4453
}
4554

4655
@end

FirebaseCore/Sources/FIRLogger.m

+1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ void FIRLoggerInitialize(void) {
8787
}
8888

8989
FIRLoggerLevel FIRGetLoggerLevel(void) {
90+
FIRLoggerInitialize();
9091
return (FIRLoggerLevel)GULGetLoggerLevel();
9192
}
9293

FirebaseCore/Sources/Public/FirebaseCore/FIRConfiguration.h

+3
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ NS_SWIFT_NAME(FirebaseConfiguration)
4040
*/
4141
- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel;
4242

43+
/// Returns the logging level for internal Firebase logging.
44+
- (FIRLoggerLevel)loggerLevel;
45+
4346
@end
4447

4548
NS_ASSUME_NONNULL_END

FirebaseCore/Tests/Unit/FIRConfigurationTest.m

+14
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,18 @@ - (void)testSharedInstance {
2828
XCTAssertNotNil(config.analyticsConfiguration);
2929
}
3030

31+
- (void)testGetDefaultLevel {
32+
FIRConfiguration *config = [FIRConfiguration sharedInstance];
33+
FIRLoggerLevel defaultLevel = [config loggerLevel];
34+
XCTAssertEqual(defaultLevel, FIRLoggerLevelNotice);
35+
}
36+
37+
- (void)testSetAndGet {
38+
FIRConfiguration *config = [FIRConfiguration sharedInstance];
39+
for (FIRLoggerLevel level = FIRLoggerLevelMin; level <= FIRLoggerLevelMax; level++) {
40+
[config setLoggerLevel:level];
41+
XCTAssertEqual([config loggerLevel], level);
42+
}
43+
}
44+
3145
@end

0 commit comments

Comments
 (0)