logger method
void
logger(
- String messageText,
- String objectText,
- String? errorLabel,
- FormattedStacktrace stacktrace,
- LogRecord record,
override
Implementation
@override
void logger(
String messageText,
String objectText,
String? errorLabel,
FormattedStacktrace stacktrace,
LogRecord record,
) {
final messageBuffer = StringBuffer();
final firstLine = '${record.level.name}/${record.loggerName}';
messageBuffer.writeln(firstLine);
final localLoggerName = _getLoggerLocalName(record.loggerName);
final leadingLine = '${record.sequenceNumber}/$localLoggerName';
writeInBuffer(messageBuffer, leadingLine, messageText);
writeInBuffer(messageBuffer, leadingLine, objectText);
writeInBuffer(messageBuffer, leadingLine, errorLabel);
final stacktracePrint = stacktrace.formattedStackTrace;
writeInBuffer(messageBuffer, leadingLine, stacktracePrint);
final wholeMessage = messageBuffer.toString();
if (maxLineSize == -1) {
printSingleLog(
wholeMessage,
record,
);
} else {
final pattern = RegExp('.{1,$maxLineSize}');
final matches = pattern.allMatches(wholeMessage);
for (final match in matches) {
final group = match.group(0);
if (group == null) continue;
printSingleLog(group, record);
}
}
}