CocoaLumberjack iOS: ¿podemos cambiar el nombre del file de logging y el directory?

Estoy usando CocoaLumberjack en mi proyecto. Necesito cambiar el nombre del file de logging a mi nombre de file personalizado.

NSString * applicationDocumentsDirectory = [[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject] path]; DDLogFileManagerDefault *documentsFileManager = [[DDLogFileManagerDefault alloc] initWithLogsDirectory:applicationDocumentsDirectory]; DDFileLogger *fileLogger = [[DDFileLogger alloc] initWithLogFileManager:documentsFileManager]; // Configure File Logger [fileLogger setMaximumFileSize:(1024 * 1024)]; [fileLogger setRollingFrequency:(3600.0 * 24.0)]; [[fileLogger logFileManager] setMaximumNumberOfLogFiles:1]; [DDLog addLogger:fileLogger]; 

Por el código anterior, he cambiado el directory a los Documentos. Pero ahora también necesito cambiar el nombre del file de logging. ¿Cómo puedo conseguir esto? ¿Es posible?

Aunque creo que mi respuesta puede ser demasiado tarde, encuentre a continuación mi solución:

1) Henetworkinge los methods DDLogFileManagerDefault y override: newLogFileName y isLogFile

 #import "DDFileLogger.h" @interface BaseLogFileManager : DDLogFileManagerDefault @end #import "BaseLogFileManager.h" @implementation BaseLogFileManager -(NSString *)newLogFileName { NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleIdentifier"]; NSString *timeStamp = [self getTimestamp]; return [NSString stringWithFormat:@"%@%@.log", appName, timeStamp]; } -(BOOL)isLogFile:(NSString *)fileName { return NO; } -(NSString *)getTimestamp { static dispatch_once_t onceToken; static NSDateFormatter *dateFormatter; dispatch_once(&onceToken, ^{ dateFormatter = [NSDateFormatter new]; [dateFormatter setDateFormat:@"YYYY.MM.dd-HH.mm.ss"]; }); return [dateFormatter stringFromDate:NSDate.date]; } @end 

2) En AppDelegate, cambia la siguiente línea:

 DDLogFileManagerDefault *documentsFileManager = [[DDLogFileManagerDefault alloc] initWithLogsDirectory:applicationDocumentsDirectory]; 

A:

 DDLogFileManagerDefault *documentsFileManager = [[BaseLogFileManager alloc] initWithLogsDirectory:applicationDocumentsDirectory]; 

Los methods newLogFileName y isLogFile están disponibles para lograr la tarea