2016-01-24 3 views
0

У меня есть своя команда DDLogError в моем приложении. Я начинаю тестировать приложение с друзьями и семьей. Всякий раз, когда одно из этих тестовых приложений попадает в ошибку, я хочу иметь возможность автоматически возвращать журналы.Подклассификация CocoaLumberJack

Brute Force способ добавить что-то ниже каждого оператора DDLogError, который отслеживает тот факт, что приложение попало в ошибку и периодически загружает журналы от таких пользователей в фоновом режиме.

Теперь, когда у меня есть 100 из этих утверждений, разбросанных по всему моему коду, я бы предпочел просто изменить DDLogError глобально, чтобы он не печатал то, что я даю в строке формата, но также обновляет свойство, в котором говорится, что приложение попало в ошибку состояние.

Каков наилучший способ сделать это? Класс подкласса CocoaLumberJack, а затем переопределить метод DDLogError?

ответ

0

Я решил проблему с помощью CustomFormatter, как описано в https://github.com/CocoaLumberjack/CocoaLumberjack/blob/master/Documentation/CustomFormatters.md

В принципе, я связан мой FileLogger с настраиваемым форматировщиком. В пользовательском форматировании, когда вы вызываете DDLogError, я делаю все мои дополнительные шаги, как отслеживание этой ошибки, и журналы должны быть загружены, когда на WiFi и в фоновом режиме, добавив некоторые пользовательские строки, чтобы упростить фильтрацию и т. Д.