Есть ли способ очистить выход NSLog?

Я занимаюсь поиском в Интернете за последние пару часов, чтобы найти, что есть способ очистить выход NSLog с помощью кода или нет?

Как и clrscr() в c. Поэтому, если мы пытаемся напечатать что-то, что мы хотим сосредоточить больше всего, и там много логарифмической печати, мы можем поместить этот код туда и получить наш журнал о поиске для удобства поиска. Это можно сделать, поставив точку останова на мою строку NSLog и нажав clear console. но вопрос в том, есть ли способ добиться этого программно?

Я не нашел вопроса о переполнении стека, но я не удовлетворен ответом, например , который говорит, что я могу отключить журнал для режима выпуска и т.д.

Или я могу использовать DLog, ALog или ULog как требование, но мой вопрос другой.

Кто-нибудь может мне помочь?

Заранее спасибо:)

Ответ 1

Вы можете использовать условную точку останова для имитации. Определите такую ​​функцию в вашем коде:

int clear_console()
{
    NSLog(@"\n\n\n\n\n\n\n\n");
}

Затем, когда вы хотите очистить консоль, просто добавьте точку останова перед NSLog с этим условием:

  • Условие: 1 > 0
  • Действие: команда отладчика expr (int) clear_console()
  • Параметры: Автоматически продолжить после оценки Проверить его, чтобы пропустить паузу.

enter image description here

Протестировано с помощью Xcode 4.3.2 и lldb.

Предыдущий ответ:

AFAIK, нет, нет.

На всякий случай, если вы еще не делаете этого, вы можете создавать собственные макросы для форматирования вывода, чтобы выделить то, что вы хотите.

Определите макросы следующим образом:

#define CLEAR(...)          NSLog(@"\n\n\n\n\n\n") /* enough \n to "clear" the console */
#define WTF(...)            CLEAR();NSLog(@"!!!!!!!!!!!!!!");NSLog(__VA_ARGS__)
#define TRACE(__message__)  NSLog(@">>>>>>>>>>>>>>> %@ <<<<<<<<<<<<<<<<<<<", __message__)

Тогда:

WTF(@"This should't be here object: %@", theObject);
...
TRACE(@"Start Encoding");
...

Это не то, что вы хотите, но это в значительной степени решает проблему. В итоге вы получите собственный набор макросов с настраиваемыми префиксами, которые легко сканировать на выходе консоли.