in lib/src/logger.dart [172:209]
void log(Level logLevel, Object? message,
[Object? error, StackTrace? stackTrace, Zone? zone]) {
Object? object;
if (isLoggable(logLevel)) {
if (message is Function) {
message = message();
}
String msg;
if (message is String) {
msg = message;
} else {
msg = message.toString();
object = message;
}
if (stackTrace == null && logLevel >= recordStackTraceAtLevel) {
stackTrace = StackTrace.current;
error ??= 'autogenerated stack trace for $logLevel $msg';
}
zone ??= Zone.current;
var record =
LogRecord(logLevel, msg, fullName, error, stackTrace, zone, object);
if (parent == null) {
_publish(record);
} else if (!hierarchicalLoggingEnabled) {
root._publish(record);
} else {
Logger? target = this;
while (target != null) {
target._publish(record);
target = target.parent;
}
}
}
}