log static method
void
log(
- String message, {
- String? additionalMessage,
- String? tag,
- LogType type = LogType.info,
- StackTrace? stackTrace,
Implementation
static void log(
String message, {
String? additionalMessage,
String? tag,
LogType type = LogType.info,
StackTrace? stackTrace, // Added the stackTrace parameter
}) {
final timestamp = DateTime.now().toIso8601String();
String emoji;
String colorCode;
switch (type) {
case LogType.info:
emoji = 'ℹ️';
colorCode = '\x1B[34m'; // Blue
break;
case LogType.warning:
emoji = '⚠️';
colorCode = '\x1B[33m'; // Yellow
break;
case LogType.error:
emoji = '❌';
colorCode = '\x1B[31m'; // Red
break;
case LogType.success:
emoji = '✅';
colorCode = '\x1B[32m'; // Green
break;
case LogType.debug:
emoji = '🐞';
colorCode = '\x1B[35m'; // Purple
break;
}
String messageTag =
tag != null ? ' ${type.name}-$tag: ' : ' ${type.name} :';
// Building the log message
final baseMessage =
'$colorCode[$timestamp] $emoji $messageTag $message${additionalMessage != null ? "\n$additionalMessage" : ""}';
// Check if we have a stackTrace and append it to the message
final logMessage = stackTrace != null
? '$baseMessage\nStackTrace: $stackTrace'
: baseMessage;
// Print the styled message
developer.log(logMessage, name: type.name);
}