Миграция на новую версию

Миграция c 0.1.25 до 0.1.31

В методах

public enum TracerFactory { public static func tracerServiceForCrashReporting(token: String, delegate: TracerServiceDelegate? = nil, sysInfoProvider: TracerSystemInfoProviderProtocol? = nil, logger: TracerLoggerProtocol? = nil, isDebug: Bool = true) -> TracerServiceProtocol public static func tracerService(token: String, features: [FeatureConfiguration], items: [FeatureObject] = [], delegate: TracerServiceDelegate? = nil, sysInfoProvider: TracerSystemInfoProviderProtocol? = nil, logger: TracerLoggerProtocol? = nil, isDebug: Bool = true) -> TracerServiceProtocol }

Убирается параметр isDebug, теперь его не нужно передавать.

Новые сигнатуры выглядят так

public enum TracerFactory { public static func tracerServiceForCrashReporting(token: String, delegate: TracerServiceDelegate? = nil, sysInfoProvider: TracerSystemInfoProviderProtocol? = nil, logger: TracerLoggerProtocol? = nil, isDebug: Bool = true) -> TracerServiceProtocol public static func tracerService(token: String, features: [FeatureConfiguration], items: [FeatureObject] = [], delegate: TracerServiceDelegate? = nil, sysInfoProvider: TracerSystemInfoProviderProtocol? = nil, logger: TracerLoggerProtocol? = nil, isDebug: Bool = true) -> TracerServiceProtocol }

Добавлено внутреннее логирование, смотреть Configuration.logDestinations

public enum TracerLogDestination { public enum Constants { public static let defaultFormat = "$LEVEL $D[yyyy-MM-dd'T'HH:mm:ssZZZZZ] $M[255] $FILE:$LINE $FUNC $C" } // MARK: - Cases case console(format: String = Constants.defaultFormat, minLevel: TracerLogLevel = .debug) case file(format: String = Constants.defaultFormat, minLevel: TracerLogLevel = .warning) case oslog(format: String = Constants.defaultFormat, minLevel: TracerLogLevel = .debug) case buildin(format: String = Constants.defaultFormat, minLevel: TracerLogLevel = .debug) }

Описание формата (level, date+format, message, file, line, function, context)
$LEVEL - уровень
$D[format date]
$M[max length] - сообщение
$FILE - имя файла
$LINE - номер строки
$FUNC - название функции
$С - контекст

Также можно логировать свои события используя логирование трейсера: TracerServiceProtocol.logger

public protocol TracerLoggerProtocol { func log<T>(level: TracerLogLevel, message: @autoclosure () -> T) func logAsync<T>(level: TracerLogLevel, message: @autoclosure () -> T) func log<T>(level: TracerLogLevel, message: @autoclosure () -> T, file: String?, function: String?, line: Int?, context: Any?) func logAsync<T>(level: TracerLogLevel, message: @autoclosure () -> T, file: String?, function: String?, line: Int?, context: Any?) }