debugPrintLayouts top-level property
Log the dirty render objects that are laid out each frame.
Combined with debugPrintBeginFrameBanner, this allows you to distinguish layouts triggered by the initial mounting of a render tree (e.g. in a call to runApp) from the regular layouts triggered by the pipeline.
Combined with debugPrintMarkNeedsLayoutStacks, this lets you watch a render object's dirty/clean lifecycle.
debugProfilePaintsEnabled, which does something similar for painting but using the timeline view.
debugPrintRebuildDirtyWidgets, which does something similar for widgets being rebuilt.
The discussion at RendererBinding.drawFrame.
bool debugPrintLayouts = false