Отключить сообщения об ошибках и предупреждения MagicalRecord

Я только начал использовать MagicalRecord, и это может быть глупый вопрос, но он меня действительно беспокоит... Я использую MagicalRecord с sqlite, и когда я инициирую MagicalRecord, я использовал

[MagicalRecord setupCoreDataStackWithStoreNamed:@"OrderSystem.sqlite"];

и он выдал следующие сообщения:

16.10.2012 16:54:48.966 OrderSystem[4135:c07] +NSManagedObjectContext(MagicalRecord) MR_contextWithStoreCoordinator: -> Created: Context * MAIN THREAD *

Когда я попытался сохранить свою сущность со следующим кодом, используя фоновый поток:

[MagicalRecord saveInBackgroundWithBlock:^(NSManagedObjectContext *localContext){        
    Menu *localMenu = [menu inContext:localContext];        
    localMenu.name = menu.name;
    localMenu.menuid = menu.menuid ;        
}];

И я получил следующие сообщения об ошибках:

16.10.2012 17:05:20.118 OrderSystem[4523:4603] +MagicalRecord(ErrorHandling) defaultErrorHandler: Сообщение об ошибке: операция не может быть завершена. (Ошибка какао 133000.)

2012-10-16 17:05:20.118 OrderSystem[4523:4603] +MagicalRecord(ErrorHandling) defaultErrorHandler: домен ошибки: NSCocoaErrorDomain

2012-10-16 17:05:20.119 OrderSystem[4523:4603] +MagicalRecord(ErrorHandling) defaultErrorHandler: Предложение по восстановлению: (null)

2012-10-16 17:05:20.119 OrderSystem[4523:4603] -NSManagedObjectContext(MagicalSaves) MR_saveWithErrorCallback: БЕЗ ИЗМЕНЕНИЙ В КОНТЕКСТЕ: Контекст - НЕ СОХРАНЯЕТСЯ

2012-10-16 17:05:20.120 OrderSystem[4523:c07] -NSManagedObjectContext(MagicalSaves) MR_saveWithErrorCallback: -> Сохранение: * ПО УМОЛЧАНИЮ Контекст ГЛАВНАЯ ТЕМА *

2012-10-16 17:05:20.121 OrderSystem[4523:c07] -NSManagedObjectContext(MagicalRecord) contextWillSave: Context : * DEFAULT Context MAIN THREAD * собирается спасти. Получение постоянных идентификаторов для новых 1 вставленных объектов

2012-10-16 17:05:20.142 OrderSystem[4523:1303] -NSManagedObjectContext(MagicalSaves) MR_saveWithErrorCallback: -> Сохранение: * ФОНОВОЕ СОХРАНЕНИЕ * Контекст

2012-10-16 17:05:20.142 OrderSystem[4523:1303] -NSManagedObjectContext(MagicalRecord) contextWillSave: Context : * BACKGROUND SAVE * Контекст будет сохранен. Получение постоянных идентификаторов для новых 1 вставленных объектов

Когда я проверяю свой сохраненный объект данных с помощью findAll, кажется, что он хранится в базе данных. И если я полностью закрою приложение и перезапущу приложение, объект все еще будет там (что предполагает, что объект был сохранен постоянно, а не только в памяти). Итак, кажется, что все работает, но есть идеи, что это за сообщения об ошибках? и есть ли способ их отключить? или решить их? потому что он блокирует мой другой NSLog...

Спасибо


person hook38    schedule 16.10.2012    source источник
comment
Если вы используете Cocoapods, это то, что вам нужно: > stackoverflow.com/questions/15284067/   -  person Andres Kievsky    schedule 08.03.2013


Ответы (4)


нашел это. добавьте #define MR_ENABLE_ACTIVE_RECORD_LOGGING 0 в файл Prefix.pch перед #import "CoreData+MagicalRecord.h"

person hook38    schedule 11.12.2012
comment
Мы изменили способ ведения журнала в предстоящем выпуске MagicalRecord 2.3 — вы сможете вызвать [MagicalRecord setLogLevel:MagicalRecordLogLevelOff]; (или ряд других уровней), чтобы отключить эти сообщения журнала после его выпуска. Для выпусков до 2.3 @hook38 предложил правильный способ отключить ведение журнала. - person Tony Arnold; 10.04.2014
comment
@ Тони Арнольд. Git говорит, что мой текущий код MR обновлен по состоянию на 5 мая 14 года с помощью origin/develop. MR_ENABLE_ACTIVE_RECORD_LOGGING больше не имеет никакого эффекта, но [MagicalRecord setLogLevel:] не найден. Я нашел setLoggingMask: в MagicalRecord+Options.m. Что я могу сделать, чтобы отключить обычный вывод журнала сохранения MR или включить его снова при необходимости? - person chadbag; 05.05.2014
comment
@chadbag извините, мне пришлось изменить метод — вот документы: github.com/magicalpanda/ MagicalRecord/wiki/Ведение журнала - person Tony Arnold; 06.05.2014
comment
@ Тони Арнольд. Спасибо, получил его! - person chadbag; 06.05.2014

Если вы используете модули, добавьте макрос препроцессора MR_ENABLE_ACTIVE_RECORD_LOGGING=0 в проект магической записи следующим образом: введите описание изображения здесь

person Nikolay Shubenkov    schedule 30.06.2014

быстро

MagicalRecord.setLoggingLevel(MagicalRecordLoggingLevel.Off)

объект

[MagicalRecord setLoggingLevel:MagicalRecordLogLevelOff];

поместите его в свой AppDelegate, когда приложение didFinishLaunchingWithOptions

person Alberto Scampini    schedule 11.01.2016
comment
Теперь кажется, что [MagicalRecord setLoggingLevel: MagicalRecordLoggingLevelOff]; - person Paul Razvan Berg; 13.08.2016

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

person casademora    schedule 16.10.2012
comment
как только я отключил ведение журнала записей, сообщений об ошибках больше не было. - person hook38; 16.10.2012
comment
как только я перестала ходить к стоматологу, кариеса больше не было. - person christophercotton; 08.08.2013