Логирование достаточно важная часть любой программы. Теперь логирование это одна из основных частей библиотеки. Логи содержат ошибки, предупреждения и просто отладочную информацию, которая имеет поддержку табуляции.
Для перехвата логов от библиотеки надо переопределить функцию логирования:
func yourfunction(level: DILogLevel, msg: String) {
yourlogger.log("\(level): \(msg)")
}
DISettings.Log.fun = yourfunctionПо умолчанию эта функция определена как вывод в консоль.
На вход функция принимает уровень логирования и сообщение. Уровни логирования бывают четырех видов:
- none - логи полностью отключены. Похожего поведения можно добиться, присвоив функции логирования nil.
- error - будут показываться только ошибки. Ошибка предполагает, что дальнейшее исполнение программы может привести к падению.
- warning - ошибки и предупреждения. На предупреждения стоит обращать внимания, но программа сможет работать вместе с ними.
- info - ошибки, предупреждения, информация. В информацию пишутся потенциальные проблемы, но проблема это или так и задумано решить может только программист.
- verbose - ошибки, предупреждения, информация, подробный. Подробный лог стоит читать, если хочется подробно понять, в чем причина предупреждения или ошибки.
Задать максимальный уровень логирования можно так:
DISettings.Log.level = .verboseЕсли вам не нравится стандартная табуляция в информации, которая отображает уровень вложенности при разрешении зависимости, то ее можно заменить на свою:
DISettings.Log.tab = "-"