Skip to content

Latest commit

 

History

History
34 lines (28 loc) · 2.86 KB

File metadata and controls

34 lines (28 loc) · 2.86 KB

Логирование

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

Использование

Для перехвата логов от библиотеки надо переопределить функцию логирования:

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 = "-"