Как не отображать логи в выводе Xcode, но при этом отправлять их в отчеты Hockeyapp
Я использую Hockeyapp для отчетов о сбоях и сбора журналов при сбое приложения. Используя метод ниже.
- (void)setupLumberjack {
// Configure CocoaLumberjack
[DDLog addLogger:[DDASLLogger sharedInstance]];
[DDLog addLogger:[DDTTYLogger sharedInstance]];
// Initialize File Logger
// initialize before HockeySDK, so the delegate can access the file logger!
_fileLogger = [[DDFileLogger alloc] init];
_fileLogger.maximumFileSize = (1024 * 128); // 128 KByte
_fileLogger.logFileManager.maximumNumberOfLogFiles = 5;
[_fileLogger rollLogFileWithCompletionBlock:nil];
[DDLog addLogger:_fileLogger];
}
Установка уровня журнала:
static const int ddLogLevel = LOG_LEVEL_ALL;
Теперь я хотел бы, чтобы ВСЕ уровни журнала все еще отправлялись в отчеты Hockeyapp, но превышали ЛЮБОЙ вывод в консоли xcode.
Как я могу этого достичь? Вероятно, что-то здесь не хватает.
Использование версии 1.9.2, но при желании обновить до 2.x
2 ответа
Журналы XCode всегда отображаются в консоли XCode.
У вас нет возможности отключить их.
Но вы можете скрыть окно вывода:P
Вы также можете установить собственные флаги компилятора для ваших настроек сборки отладки.
Затем вы код DLog()
макрос, который будет эхом NSLog()
только если этот флаг есть => только при отладке с Xcode.
При этом пользователи не будут иметь никакого входа в систему на своем устройстве.
Ответ, который я искал, был опубликован в комментарии.
Простое удаление этой строки сделало свое дело:[DDLog addLogger:[DDTTYLogger sharedInstance]];