Просмотр исходного кода

Revert "GULLogger - count errors and warnigns" (#2714)

* Revert "GULLogger: logged issue counting concurrency issue fix (#2627)"

This reverts commit 961e9b0bfbbc84e3e1d942fa84e1a9b6ad0ec00c.

* Revert "GULLogger - issue count synchronous getters  (#2610)"

This reverts commit c6da7d616149e171715ac85403095853a10bbcfc.

* Revert "GULLogger - count errors and warnigns (#2601)"

This reverts commit 1e08a55afd7295cd851ffac95a40d2b5ab55e306.
Maksym Malyhin 7 лет назад
Родитель
Сommit
b2cd981f23

+ 9 - 73
GoogleUtilities/Example/Tests/Logger/GULLoggerTest.m

@@ -32,15 +32,13 @@ extern dispatch_queue_t getGULClientQueue(void);
 
 extern BOOL getGULLoggerDebugMode(void);
 
-extern CFStringRef getGULLoggerUserDefaultsSuiteName(void);
-extern dispatch_queue_t getGULLoggerCounterQueue(void);
-
 static NSString *const kMessageCode = @"I-COR000001";
 
 @interface GULLoggerTest : XCTestCase
 
 @property(nonatomic) NSString *randomLogString;
-@property(nonatomic) NSUserDefaults *loggerDefaults;
+
+@property(nonatomic, strong) NSUserDefaults *defaults;
 
 @end
 
@@ -50,18 +48,14 @@ static NSString *const kMessageCode = @"I-COR000001";
   [super setUp];
   GULResetLogger();
 
-  self.loggerDefaults = [[NSUserDefaults alloc]
-      initWithSuiteName:CFBridgingRelease(getGULLoggerUserDefaultsSuiteName())];
+  // Stub NSUserDefaults for cleaner testing.
+  _defaults = [[NSUserDefaults alloc] initWithSuiteName:@"com.google.logger_test"];
 }
 
 - (void)tearDown {
-  // Make sure all async operations have finished before starting a new test.
-  [self drainQueue:getGULClientQueue()];
-  [self drainQueue:getGULLoggerCounterQueue()];
-
-  self.loggerDefaults = nil;
-
   [super tearDown];
+
+  _defaults = nil;
 }
 
 - (void)testMessageCodeFormat {
@@ -159,61 +153,17 @@ static NSString *const kMessageCode = @"I-COR000001";
   XCTAssertEqual(GULLoggerLevelDebug, ASL_LEVEL_DEBUG);
 }
 
-- (void)testGetErrorWarningNumberBeforeLogDontCrash {
-  GULResetLogger();
-
-  XCTAssertNoThrow(GULNumberOfErrorsLogged());
-  XCTAssertNoThrow(GULNumberOfWarningsLogged());
-}
-
-- (void)testErrorNumberIncrement {
-  [self.loggerDefaults setInteger:10 forKey:kGULLoggerErrorCountKey];
-
-  GULLogError(@"my service", NO, kMessageCode, @"Message.");
-
-  [self drainQueue:getGULLoggerCounterQueue()];
-  XCTAssertEqual(GULNumberOfErrorsLogged(), 11);
-}
-
-- (void)testWarningNumberIncrement {
-  [self.loggerDefaults setInteger:5 forKey:kGULLoggerWarningCountKey];
-
-  GULLogWarning(@"my service", NO, kMessageCode, @"Message.");
-
-  [self drainQueue:getGULLoggerCounterQueue()];
-  XCTAssertEqual(GULNumberOfWarningsLogged(), 6);
-}
-
-- (void)testResetIssuesCount {
-  [self.loggerDefaults setInteger:3 forKey:kGULLoggerErrorCountKey];
-  [self.loggerDefaults setInteger:4 forKey:kGULLoggerWarningCountKey];
-
-  GULResetNumberOfIssuesLogged();
-
-  XCTAssertEqual(GULNumberOfErrorsLogged(), 0);
-  XCTAssertEqual(GULNumberOfWarningsLogged(), 0);
-}
-
-- (void)testNumberOfIssuesLoggedNoDeadlock {
-  [self dispatchSyncNestedDispatchCount:100
-                                  queue:getGULLoggerCounterQueue()
-                                  block:^{
-                                    XCTAssertNoThrow(GULNumberOfErrorsLogged());
-                                    XCTAssertNoThrow(GULNumberOfWarningsLogged());
-                                  }];
-}
-
 // Helper functions.
 - (BOOL)logExists {
-  [self drainQueue:getGULClientQueue()];
+  [self drainGULClientQueue];
   NSString *correctMsg =
       [NSString stringWithFormat:@"%@[%@] %@", @"my service", kMessageCode, self.randomLogString];
   return [self messageWasLogged:correctMsg];
 }
 
-- (void)drainQueue:(dispatch_queue_t)queue {
+- (void)drainGULClientQueue {
   dispatch_semaphore_t workerSemaphore = dispatch_semaphore_create(0);
-  dispatch_barrier_async(queue, ^{
+  dispatch_async(getGULClientQueue(), ^{
     dispatch_semaphore_signal(workerSemaphore);
   });
   dispatch_semaphore_wait(workerSemaphore, DISPATCH_TIME_FOREVER);
@@ -241,19 +191,5 @@ static NSString *const kMessageCode = @"I-COR000001";
 #pragma clang pop
 }
 
-- (void)dispatchSyncNestedDispatchCount:(NSInteger)count
-                                  queue:(dispatch_queue_t)queue
-                                  block:(dispatch_block_t)block {
-  if (count < 0) {
-    return;
-  }
-
-  dispatch_sync(queue, ^{
-    [self dispatchSyncNestedDispatchCount:count - 1 queue:queue block:block];
-    block();
-    NSLog(@"%@, depth: %ld", NSStringFromSelector(_cmd), (long)count);
-  });
-}
-
 @end
 #endif

+ 0 - 88
GoogleUtilities/Logger/GULLogger.m

@@ -19,9 +19,6 @@
 #import <GoogleUtilities/GULAppEnvironmentUtil.h>
 #import "Public/GULLoggerLevel.h"
 
-NSString *const kGULLoggerErrorCountKey = @"kGULLoggerErrorCountKey";
-NSString *const kGULLoggerWarningCountKey = @"kGULLoggerWarningCountKey";
-
 /// ASL client facility name used by GULLogger.
 const char *kGULLoggerASLClientFacilityName = "com.google.utilities.logger";
 
@@ -46,8 +43,6 @@ static NSString *const kMessageCodePattern = @"^I-[A-Z]{3}[0-9]{6}$";
 static NSRegularExpression *sMessageCodeRegex;
 #endif
 
-void GULIncrementLogCountForLevel(GULLoggerLevel level);
-
 void GULLoggerInitializeASL(void) {
   dispatch_once(&sGULLoggerOnceToken, ^{
     NSInteger majorOSVersion = [[GULAppEnvironmentUtil systemVersion] integerValue];
@@ -154,10 +149,6 @@ void GULLogBasic(GULLoggerLevel level,
                  NSString *message,
                  va_list args_ptr) {
   GULLoggerInitializeASL();
-
-  // Keep count of how many errors and warnings are triggered.
-  GULIncrementLogCountForLevel(level);
-
   if (!(level <= sGULLoggerMaximumLevel || sGULLoggerDebugMode || forceLog)) {
     return;
   }
@@ -203,85 +194,6 @@ GUL_LOGGING_FUNCTION(Debug)
 
 #undef GUL_MAKE_LOGGER
 
-#pragma mark - User defaults
-
-// NSUserDefaults cannot be used due to a bug described in GULUserDefaults
-// GULUserDefaults cannot be used because GULLogger is a dependency for GULUserDefaults
-// We have to use C API direclty here
-
-CFStringRef getGULLoggerUserDefaultsSuiteName(void) {
-  return (__bridge CFStringRef) @"GoogleUtilities.Logger.GULLogger";
-}
-
-NSInteger GULGetUserDefaultsIntegerForKey(NSString *key) {
-  id value = (__bridge_transfer id)CFPreferencesCopyAppValue((__bridge CFStringRef)key,
-                                                             getGULLoggerUserDefaultsSuiteName());
-  if (![value isKindOfClass:[NSNumber class]]) {
-    return 0;
-  }
-
-  return [(NSNumber *)value integerValue];
-}
-
-void GULLoggerUserDefaultsSetIntegerForKey(NSInteger count, NSString *key) {
-  NSNumber *countNumber = @(count);
-  CFPreferencesSetAppValue((__bridge CFStringRef)key, (__bridge CFNumberRef)countNumber,
-                           getGULLoggerUserDefaultsSuiteName());
-  CFPreferencesAppSynchronize(getGULLoggerUserDefaultsSuiteName());
-}
-
-#pragma mark - Number of errors and warnings
-
-dispatch_queue_t getGULLoggerCounterQueue(void) {
-  static dispatch_queue_t queue;
-  static dispatch_once_t onceToken;
-  dispatch_once(&onceToken, ^{
-    queue =
-        dispatch_queue_create("GoogleUtilities.GULLogger.counterQueue", DISPATCH_QUEUE_CONCURRENT);
-  });
-
-  return queue;
-}
-
-NSInteger GULSyncGetUserDefaultsIntegerForKey(NSString *key) {
-  __block NSInteger integerValue = 0;
-  dispatch_sync(getGULLoggerCounterQueue(), ^{
-    integerValue = GULGetUserDefaultsIntegerForKey(key);
-  });
-
-  return integerValue;
-}
-
-NSInteger GULNumberOfErrorsLogged(void) {
-  return GULSyncGetUserDefaultsIntegerForKey(kGULLoggerErrorCountKey);
-}
-
-NSInteger GULNumberOfWarningsLogged(void) {
-  return GULSyncGetUserDefaultsIntegerForKey(kGULLoggerWarningCountKey);
-}
-
-void GULResetNumberOfIssuesLogged(void) {
-  dispatch_barrier_async(getGULLoggerCounterQueue(), ^{
-    GULLoggerUserDefaultsSetIntegerForKey(0, kGULLoggerErrorCountKey);
-    GULLoggerUserDefaultsSetIntegerForKey(0, kGULLoggerWarningCountKey);
-  });
-}
-
-void GULIncrementUserDefaultsIntegerForKey(NSString *key) {
-  NSInteger value = GULGetUserDefaultsIntegerForKey(key);
-  GULLoggerUserDefaultsSetIntegerForKey(value + 1, key);
-}
-
-void GULIncrementLogCountForLevel(GULLoggerLevel level) {
-  dispatch_barrier_async(getGULLoggerCounterQueue(), ^{
-    if (level == GULLoggerLevelError) {
-      GULIncrementUserDefaultsIntegerForKey(kGULLoggerErrorCountKey);
-    } else if (level == GULLoggerLevelWarning) {
-      GULIncrementUserDefaultsIntegerForKey(kGULLoggerWarningCountKey);
-    }
-  });
-}
-
 #pragma mark - GULLoggerWrapper
 
 @implementation GULLoggerWrapper

+ 0 - 27
GoogleUtilities/Logger/Private/GULLogger.h

@@ -25,16 +25,6 @@ NS_ASSUME_NONNULL_BEGIN
  */
 typedef NSString *const GULLoggerService;
 
-/**
- * The key used to store the logger's error count.
- */
-extern NSString *const kGULLoggerErrorCountKey;
-
-/**
- * The key used to store the logger's warning count.
- */
-extern NSString *const kGULLoggerWarningCountKey;
-
 #ifdef __cplusplus
 extern "C" {
 #endif  // __cplusplus
@@ -139,23 +129,6 @@ extern void GULLogDebug(GULLoggerService service,
                         NSString *message,
                         ...) NS_FORMAT_FUNCTION(4, 5);
 
-/**
- * Retrieve the number of errors that have been logged since the stat was last reset.
- * Calling this method can be comparably expensive, so it should not be called from main thread.
- */
-extern NSInteger GULNumberOfErrorsLogged(void);
-
-/**
- * Retrieve the number of warnings that have been logged since the stat was last reset.
- * Calling this method can be comparably expensive, so it should not be called from main thread.
- */
-extern NSInteger GULNumberOfWarningsLogged(void);
-
-/**
- * Reset number of errors and warnings that have been logged to 0.
- */
-extern void GULResetNumberOfIssuesLogged(void);
-
 #ifdef __cplusplus
 }  // extern "C"
 #endif  // __cplusplus