aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firebase/Messaging/FIRMessagingLogger.m
diff options
context:
space:
mode:
authorGravatar Riz <rsattar@gmail.com>2017-05-24 17:29:09 -0700
committerGravatar GitHub <noreply@github.com>2017-05-24 17:29:09 -0700
commit2c133b34b0d3cbbe27b9206d57fe69140e5db6b3 (patch)
tree7c3959cd04e4a9b1c0fced611d51253353f402fa /Firebase/Messaging/FIRMessagingLogger.m
parentdb7f85b9d43906adb99524185d7c375d2161c152 (diff)
Clean up logging and configuration in Messaging (#28)
* Remove mostly unused code from FIRMessagingLogger This cleans up some left-over old logging logic from before we moved to FIRLogger in Firebase Core. We no longer need this logging functionality. * Delete FIRMessagingConfig.{h,m} We no longer need a config class to store an unused log level filter (that filter is no longer needed).
Diffstat (limited to 'Firebase/Messaging/FIRMessagingLogger.m')
-rw-r--r--Firebase/Messaging/FIRMessagingLogger.m214
1 files changed, 1 insertions, 213 deletions
diff --git a/Firebase/Messaging/FIRMessagingLogger.m b/Firebase/Messaging/FIRMessagingLogger.m
index 0ded97c..e8190d7 100644
--- a/Firebase/Messaging/FIRMessagingLogger.m
+++ b/Firebase/Messaging/FIRMessagingLogger.m
@@ -17,174 +17,11 @@
#import "FIRMessagingLogger.h"
#import "FIRLogger.h"
-#import "FIRMessagingFileLogger.h"
-
-/**
- * A log formatter that prefixes log messages with "FIRMessaging".
- */
-@interface FIRMessagingLogStandardFormatter : NSObject<FIRMessagingLogFormatter>
-
-@property(nonatomic, readwrite, strong) NSDateFormatter *dateFormatter;
-
-@end
-
-@implementation FIRMessagingLogStandardFormatter
-
-static NSString *const kFIRMessagingLogPrefix = @"FIRMessaging";
-
-- (id)init {
- if ((self = [super init])) {
- _dateFormatter = [[NSDateFormatter alloc] init];
- [_dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
- [_dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];
- }
- return self;
-}
-/**
- * Returns a formatted string prefixed with "FIRMessaging" to allow
- * FIRMessaging output to be easily differentiated in logs.
- *
- * @param func the name of the function calling the logger
- * @param fmt the format string
- * @param args the list of arguments for the format string
- * @param level the logging level (eg. debug, info)
- * @return the formatted string prefixed with "FIRMessaging".
- */
-- (NSString *)stringForFunc:(NSString *)func
- withFormat:(NSString *)fmt
- valist:(va_list)args
- level:(FIRMessagingLogLevel)level NS_FORMAT_FUNCTION(2, 0) {
- if (!(fmt && args)) {
- return nil;
- }
-
- NSString *logMessage = [[NSString alloc] initWithFormat:fmt arguments:args];
- NSString *logLevelString = [self stringForLogLevel:level];
- NSString *dateString = [self.dateFormatter stringFromDate:[NSDate date]];
- return [NSString stringWithFormat:@"%@: <%@/%@> %@",
- dateString, kFIRMessagingLogPrefix, logLevelString, logMessage];
-}
-
-- (NSString *)stringForLogLevel:(FIRMessagingLogLevel)level {
- switch (level) {
- case kFIRMessagingLogLevelDebug:
- return @"DEBUG";
-
- case kFIRMessagingLogLevelInfo:
- return @"INFO";
-
- case kFIRMessagingLogLevelError:
- return @"WARNING";
-
- case kFIRMessagingLogLevelAssert:
- return @"ERROR";
-
- default:
- return @"INFO";
- }
-}
-
-@end
-
-@interface FIRMessagingLogLevelFilter ()
-
-@property(nonatomic, readwrite, assign) FIRMessagingLogLevel level;
-
-@end
-
-@implementation FIRMessagingLogLevelFilter
-
-- (instancetype)initWithLevel:(FIRMessagingLogLevel)level {
- self = [super init];
- if (self) {
- _level = level;
- }
- return self;
-}
-
-- (BOOL)filterAllowsMessage:(NSString *)msg level:(FIRMessagingLogLevel)level {
-#if defined(DEBUG) && DEBUG
- return YES;
-#endif
-
- BOOL allow = YES;
-
- switch (level) {
- case kFIRMessagingLogLevelDebug:
- allow = NO;
- break;
- case kFIRMessagingLogLevelInfo:
- case kFIRMessagingLogLevelError:
- case kFIRMessagingLogLevelAssert:
- allow = (level >= self.level);
- break;
- default:
- allow = NO;
- break;
- }
-
- return allow;
-}
-
-@end
-
-
-// Copied from FIRMessagingLogger. Standard implementation to write logs to console.
-@interface NSFileHandle (FIRMessagingFileHandleLogWriter) <FIRMessagingLogWriter>
-@end
-
-@implementation NSFileHandle (FIRMessagingFileHandleLogWriter)
-- (void)logMessage:(NSString *)msg level:(FIRMessagingLogLevel)level {
- @synchronized(self) {
- // Closed pipes should not generate exceptions in our caller. Catch here
- // as well [FIRMessagingLogger logInternalFunc:...] so that an exception in this
- // writer does not prevent other writers from having a chance.
- @try {
- NSString *line = [NSString stringWithFormat:@"%@\n", msg];
- [self writeData:[line dataUsingEncoding:NSUTF8StringEncoding]];
- }
- @catch (id e) {
- // Ignored
- }
- }
-}
-@end
-
-@interface FIRMessagingLogger ()
-
-@end
@implementation FIRMessagingLogger
+ (instancetype)standardLogger {
-
- id<FIRMessagingLogWriter> writer;
- id<FIRMessagingLogFormatter> formatter;
- id<FIRMessagingLogFilter> filter;
-
-#if FIRMessaging_PROBER
- writer = [[FIRMessagingFileLogWriter alloc] init];
- formatter = [[FIRMessagingFileLogFormatter alloc] init];
- filter = [[FIRMessagingFileLogFilter alloc] init];
-#else
- writer = [NSFileHandle fileHandleWithStandardOutput];
- formatter = [[FIRMessagingLogStandardFormatter alloc] init];
- filter = [[FIRMessagingLogLevelFilter alloc] init];
-#endif
-
- return [[FIRMessagingLogger alloc] initWithFilter:filter formatter:formatter writer:writer];
-}
-
-- (instancetype)initWithFilter:(id<FIRMessagingLogFilter>)filter
- formatter:(id<FIRMessagingLogFormatter>)formatter
- writer:(id<FIRMessagingLogWriter>)writer {
- self = [super init];
- if (self) {
- _filter = filter;
- _formatter = formatter;
- _writer = writer;
- }
- return self;
+ return [[FIRMessagingLogger alloc] init];
}
#pragma mark - Log Helpers
@@ -201,11 +38,6 @@ static NSString *const kFIRMessagingLogPrefix = @"FIRMessaging";
FIRLogBasic(FIRLoggerLevelDebug, kFIRLoggerMessaging,
[FIRMessagingLogger formatMessageCode:messageCode], fmt, args);
va_end(args);
-#if FIRMessaging_PROBER
- va_start(args, fmt);
- [self logInternalFunc:func format:fmt valist:args level:kFIRMessagingLogLevelDebug];
- va_end(args);
-#endif
}
- (void)logFuncInfo:(const char *)func
@@ -216,11 +48,6 @@ static NSString *const kFIRMessagingLogPrefix = @"FIRMessaging";
FIRLogBasic(FIRLoggerLevelInfo, kFIRLoggerMessaging,
[FIRMessagingLogger formatMessageCode:messageCode], fmt, args);
va_end(args);
-#if FIRMessaging_PROBER
- va_start(args, fmt);
- [self logInternalFunc:func format:fmt valist:args level:kFIRMessagingLogLevelInfo];
- va_end(args);
-#endif
}
- (void)logFuncNotice:(const char *)func
@@ -231,12 +58,6 @@ static NSString *const kFIRMessagingLogPrefix = @"FIRMessaging";
FIRLogBasic(FIRLoggerLevelNotice, kFIRLoggerMessaging,
[FIRMessagingLogger formatMessageCode:messageCode], fmt, args);
va_end(args);
-#if FIRMessaging_PROBER
- va_start(args, fmt);
- // Treat FIRLoggerLevelNotice as "info" locally, since we don't have an equivalent
- [self logInternalFunc:func format:fmt valist:args level:kFIRMessagingLogLevelInfo];
- va_end(args);
-#endif
}
- (void)logFuncWarning:(const char *)func
@@ -247,12 +68,6 @@ static NSString *const kFIRMessagingLogPrefix = @"FIRMessaging";
FIRLogBasic(FIRLoggerLevelWarning, kFIRLoggerMessaging,
[FIRMessagingLogger formatMessageCode:messageCode], fmt, args);
va_end(args);
-#if FIRMessaging_PROBER
- va_start(args, fmt);
- // Treat FIRLoggerLevelWarning as "error" locally, since we don't have an equivalent
- [self logInternalFunc:func format:fmt valist:args level:kFIRMessagingLogLevelError];
- va_end(args);
-#endif
}
- (void)logFuncError:(const char *)func
@@ -263,33 +78,6 @@ static NSString *const kFIRMessagingLogPrefix = @"FIRMessaging";
FIRLogBasic(FIRLoggerLevelError, kFIRLoggerMessaging,
[FIRMessagingLogger formatMessageCode:messageCode], fmt, args);
va_end(args);
-#if FIRMessaging_PROBER
- va_start(args, fmt);
- [self logInternalFunc:func format:fmt valist:args level:kFIRMessagingLogLevelError];
- va_end(args);
-#endif
-}
-
-#pragma mark - Internal Helpers
-
-- (void)logInternalFunc:(const char *)func
- format:(NSString *)fmt
- valist:(va_list)args
- level:(FIRMessagingLogLevel)level {
- // Primary point where logging happens, logging should never throw, catch
- // everything.
- @try {
- NSString *fname = func ? [NSString stringWithUTF8String:func] : nil;
- NSString *msg = [self.formatter stringForFunc:fname
- withFormat:fmt
- valist:args
- level:level];
- if (msg && [self.filter filterAllowsMessage:msg level:level])
- [self.writer logMessage:msg level:level];
- }
- @catch (id e) {
- // Ignored
- }
}
@end