format method
Implementation
@override
String format(CherriMessage message) {
var timestamp = _addCostumeSplitter(CherriFormatterTimeStamp.format(message.timestamp, timestampPattern));
var logLevel = _addCostumeSplitter(message.logLevel.abbreviation);
var className = _addCostumeSplitter(message.className);
var methodName = _addCostumeSplitter(message.methodName);
var stackTrace = message.stackTrace;
var formattedMessage = timestamp + costumeSplitter + logLevel;
if (className != '') {
formattedMessage += costumeSplitter + className;
}
if (methodName != '') {
formattedMessage += costumeSplitter + methodName;
}
var aheadLength = formattedMessage.length + costumeSplitter.length;
formattedMessage += costumeSplitter + message.message;
if (stackTrace != null) {
var frames = Trace.from(stackTrace).frames.toList();
frames.removeWhere((frame) => frame.package == 'cherrilog');
for (var frame in frames) {
formattedMessage += '\n';
if (autoFormatTrace) {
formattedMessage += ' ' * aheadLength;
}
formattedMessage += frame.toString();
}
}
if (autoColorize) {
formattedMessage = _colorize(formattedMessage, message.logLevel);
}
return formattedMessage;
}