debugLog function
Logs messages to console in debug mode with optional level.
Also feeds the DevTools Logs tab (see CorextraDevTools) whenever devtools capture is enabled.
Example:
debugLog('This is an info message');
debugLog('This is a warning', level: LogLevel.warning);
debugLog('This is an error', level: LogLevel.error);
Implementation
void debugLog(String message, {LogLevel level = LogLevel.info}) {
if (kDebugMode) {
deferredLog(() => '[${level.name.toUpperCase()}] $message');
}
// Not gated on kDebugMode: DevTools can be switched on in a release (e.g. QA) build.
if (CorextraDevTools.instance.enabled) {
CorextraDevTools.instance.logs.add(
LogEntry(
message:
message.length > _maxPanelMessageLength
? '${message.substring(0, _maxPanelMessageLength)}… '
'[${message.length} chars total — full text in the console]'
: message,
level: level,
timestamp: DateTime.now(),
),
);
}
}