И основной проект, и фреймворк используют CocoaLumberjack DDFileLogger, и я хочу, чтобы фреймворк fileLogger записывал только логи из фреймворка. И текущий результат - оба регистратора записывают все журналы из фреймворка и основного проекта.
// Framework
NSURL *cacheDir = [[NSFileManager.defaultManager URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask] firstObject];
NSURL *logPath = [cacheDir URLByAppendingPathComponent:@"XXXXFrameworkLog"];
if (![NSFileManager.defaultManager fileExistsAtPath:logPath.path]) {
[NSFileManager.defaultManager createDirectoryAtPath:logPath.path withIntermediateDirectories:YES attributes:nil error: nil];
}
DDLogFileManagerDefault *manager = [[DDLogFileManagerDefault alloc] initWithLogsDirectory:logPath.path];
DDFileLogger *fileLogger = [[DDFileLogger alloc] initWithLogFileManager:manager];
fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling
fileLogger.logFileManager.maximumNumberOfLogFiles = 7;
[DDLog addLogger:fileLogger];
DDLogDebug(@"DebugInfo0 From XXXXFramework");
DDLogDebug(@"DebugInfo1 From XXXXFramework");
DDLogDebug(@"DebugInfo2 From XXXXFramework");
// Main project
NSURL *cacheDir = [[NSFileManager.defaultManager URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask] firstObject];
NSURL *logPath = [cacheDir URLByAppendingPathComponent:@"MainLog"];
if (![NSFileManager.defaultManager fileExistsAtPath:logPath.path]) {
[NSFileManager.defaultManager createDirectoryAtPath:logPath.path withIntermediateDirectories:YES attributes:nil error: nil];
}
DDLogFileManagerDefault *manager = [[DDLogFileManagerDefault alloc] initWithLogsDirectory:logPath.path];
DDFileLogger *fileLogger = [[DDFileLogger alloc] initWithLogFileManager:manager];
fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling
fileLogger.logFileManager.maximumNumberOfLogFiles = 7;
[DDLog addLogger:fileLogger];
DDLogDebug(@"DebugInfo0 From Main Project");
DDLogDebug(@"DebugInfo1 From Main Project");
DDLogDebug(@"DebugInfo2 From Main Project");
Результат, оба файла журнала имеют одинаковые журналы.
2019/03/29 15:45:57:943 DebugInfo0 From XXXXFramework
2019/03/29 15:45:57:943 DebugInfo1 From XXXXFramework
2019/03/29 15:45:57:943 DebugInfo2 From XXXXFramework
2019/03/29 15:45:57:958 DebugInfo0 From Main Project
2019/03/29 15:45:57:958 DebugInfo1 From Main Project
2019/03/29 15:45:57:958 DebugInfo2 From Main Project