toStyledConsoleString method
Implementation
String toStyledConsoleString({
required AnsiStyle? messageStyle,
required AnsiStyle? nonMessageStyle,
}) {
final buffer = StringBuffer();
final location1 = location;
final hasLocation = location1 != null && location1.isNotEmpty;
if (hasLocation) {
final bracketStyle = nonMessageStyle != null
? AnsiStyle.bold + nonMessageStyle
: null;
final pathTextStyle = nonMessageStyle != null
? AnsiStyle.italic + nonMessageStyle
: null;
if (icon != null) {
buffer.write('$icon ');
}
buffer.write('['.withAnsiStyle(bracketStyle));
buffer.write(location1.withAnsiStyle(pathTextStyle));
if (showTimestamp) {
final isoString = timestamp.toLocal().toIso8601String();
final timeStr = isoString.substring(11, 23);
buffer.write(' @$timeStr'.withAnsiStyle(pathTextStyle));
}
buffer.write('] '.withAnsiStyle(bracketStyle));
}
if (message != null) {
final styledMessage = message.toString().trim().withAnsiStyle(
messageStyle,
);
buffer.write(styledMessage);
}
if (showTags && tags.isNotEmpty) {
final tagStrings = tags.map((s) => '#${_unmangleSymbol(s)}').join(' ');
buffer.write(' $tagStrings'.withAnsiStyle(nonMessageStyle));
}
if (showId) {
buffer.write(' <$id>'.withAnsiStyle(nonMessageStyle));
}
return buffer.toString();
}