format method
Format a log entry into a string
Implementation
@override
String format(LogEntry entry) {
final buffer = StringBuffer();
// Timestamp
if (includeTimestamp) {
final timestamp = timestampFormat?.call(entry.timestamp) ??
_defaultTimestampFormat(entry.timestamp);
buffer.write('[$timestamp] ');
}
// Log level
if (includeLevel) {
buffer.write('[${entry.level.name}] ');
}
// Logger name
if (includeLoggerName && entry.loggerName != null) {
buffer.write('[${entry.loggerName}] ');
}
// Tag
if (includeTag && entry.tag != null) {
buffer.write('[${entry.tag}] ');
}
// Message
buffer.write(entry.message);
// Error
if (entry.error != null) {
buffer.write('\nError: ${entry.error}');
}
// Stack trace
if (entry.stackTrace != null) {
buffer.write('\nStack trace:\n${entry.stackTrace}');
}
// Context
if (entry.context.isNotEmpty) {
buffer.write('\nContext: ${entry.context}');
}
return buffer.toString();
}