LoggingCapabilityDelegate
Миксин, предоставляющий возможности логирования, совместимые с Talker API.
Определяет методы для логирования сообщений на разных уровнях: от verbose до critical.
Методы
logInfo
void logInfo(message, [Object? exception, StackTrace? stackTrace]);
Логирует информационное сообщение.
logDebug
void logDebug(message, [Object? exception, StackTrace? stackTrace]);
Логирует отладочное сообщение. Используется для детальной информации, по лезной при разработке.
logWarning
void logWarning(message, [Object? exception, StackTrace? stackTrace]);
Логирует предупреждение о потенциальных проблемах или неожиданных условиях.
logError
void logError(message, [Object? exception, StackTrace? stackTrace]);
Логирует сообщение об ошибке, указывающее на проблемы или сбои в приложении.
logCritical
void logCritical(message, [Object? exception, StackTrace? stackTrace]);
Логирует критическую ошибку, требующую немедленного внимания.
logVerbose
void logVerbose(message, [Object? exception, StackTrace? stackTrace]);
Логирует подробное сообщение для глубокой отладки.
Пример реализации
final class ConsoleLogger with LoggingCapabilityDelegate {
void logInfo(message, [Object? exception, StackTrace? stackTrace]) {
print('[INFO] $message');
}
void logDebug(message, [Object? exception, StackTrace? stackTrace]) {
print('[DEBUG] $message');
}
void logWarning(message, [Object? exception, StackTrace? stackTrace]) {
print('[WARN] $message');
}
void logError(message, [Object? exception, StackTrace? stackTrace]) {
print('[ERROR] $message');
if (exception != null) print('Exception: $exception');
if (stackTrace != null) print('StackTrace: $stackTrace');
}
void logCritical(message, [Object? exception, StackTrace? stackTrace]) {
print('[CRITICAL] $message');
}
void logVerbose(message, [Object? exception, StackTrace? stackTrace]) {
print('[VERBOSE] $message');
}
}
Использование с XDriver
final driver = XDriver.remote(
transportManager: HttpTransportManager(...),
loggingManager: ConsoleLogger(),
);