Создание подкласса CocoaLumberJack

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

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

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

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


person Smart Home    schedule 24.01.2016    source источник


Ответы (1)


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

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

person Smart Home    schedule 25.01.2016