#import "DynamicLogging.h" #import "PerformanceTesting.h" #import "DDLogMacros.h" #define FILENAME @"DynamicLogging" // Debug levels: off, error, warn, info, verbose static DDLogLevel ddLogLevel = DDLogLevelWarning; // NOT CONST @implementation DynamicLogging + (DDLogLevel)ddLogLevel { return ddLogLevel; } + (void)ddSetLogLevel:(DDLogLevel)logLevel { ddLogLevel = logLevel; } + (void)speedTest0 { // Log statements that will not be executed due to log level for (NSUInteger i = 0; i < SPEED_TEST_0_COUNT; i++) { DDLogVerbose(@"%@: SpeedTest0 - %lu", FILENAME, (unsigned long)i); } } + (void)speedTest1 { // Log statements that will be executed asynchronously for (NSUInteger i = 0; i < SPEED_TEST_1_COUNT; i++) { DDLogWarn(@"%@: SpeedTest1 - %lu", FILENAME, (unsigned long)i); } } + (void)speedTest2 { // Log statements that will be executed synchronously for (NSUInteger i = 0; i < SPEED_TEST_2_COUNT; i++) { DDLogError(@"%@: SpeedTest2 - %lu", FILENAME, (unsigned long)i); } } + (void)speedTest3 { // Even Spread: // // 25% - Not executed due to log level // 50% - Executed asynchronously // 25% - Executed synchronously for (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++) { DDLogError(@"%@: SpeedTest3A - %lu", FILENAME, (unsigned long)i); } for (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++) { DDLogWarn(@"%@: SpeedTest3B - %lu", FILENAME, (unsigned long)i); } for (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++) { DDLogInfo(@"%@: SpeedTest3C - %lu", FILENAME, (unsigned long)i); } for (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++) { DDLogVerbose(@"%@: SpeedTest3D - %lu", FILENAME, (unsigned long)i); } } + (void)speedTest4 { // Custom Spread for (NSUInteger i = 0; i < SPEED_TEST_4_ERROR_COUNT; i++) { DDLogError(@"%@: SpeedTest4A - %lu", FILENAME, (unsigned long)i); } for (NSUInteger i = 0; i < SPEED_TEST_4_WARN_COUNT; i++) { DDLogWarn(@"%@: SpeedTest4B - %lu", FILENAME, (unsigned long)i); } for (NSUInteger i = 0; i < SPEED_TEST_4_INFO_COUNT; i++) { DDLogInfo(@"%@: SpeedTest4C - %lu", FILENAME, (unsigned long)i); } for (NSUInteger i = 0; i < SPEED_TEST_4_VERBOSE_COUNT; i++) { DDLogVerbose(@"%@: SpeedTest4D - %lu", FILENAME, (unsigned long)i); } } @end