have may own logging class, considering adopting a logging package like logger. It provides more structured logging with built-in support for log levels, custom formatters, and log output destinations.
current log of Initializing an element:
[D.RUN] Info: ElementWidget build(): regionInfo
[D.RUN] Info: ElementWidget build(): region
[D.RUN] Info: resolving: region's dependencies: [[]]
[D.RUN] Info: ElementWidget build(): country
[D.RUN] Info: resolving: country's dependencies: [[region]]
[D.RUN] Info: Evaluating initState: country for Instance of 'FieldInstance<String>' init value: northAmerica
I/flutter (10426): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): │ {
I/flutter (10426): │ "Listener: country notified: region changed to": "northAmerica",
I/flutter (10426): │ "Evaluating Filter:": "'regionFilter == #{region}'"
I/flutter (10426): │ }
I/flutter (10426): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[D.RUN] Info: elementCallback.. Notifier: region, notifying: country
[D.RUN] Info: ElementWidget build(): warehouse
[D.RUN] Info: resolving: warehouse's dependencies: [[country]]
I/flutter (10426): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): │ {
I/flutter (10426): │ "Listener: warehouse notified: country changed to": "null",
I/flutter (10426): │ "Evaluating Filter:": "'countryFilter == #{country}'"
I/flutter (10426): │ }
I/flutter (10426): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[D.RUN] Info: Evaluating initState: warehouse for Instance of 'FieldInstance<String>' init value: null
[D.RUN] Info: elementCallback.. Notifier: country, notifying: warehouse
[D.RUN] Info: ElementWidget build(): transactionInfo
[D.RUN] Info: ElementWidget build(): transaction
[D.RUN] Info: resolving: transaction's dependencies: [[]]
[D.RUN] Info: ElementWidget build(): transactionDate
[D.RUN] Info: resolving: transactionDate's dependencies: [[]]
[D.RUN] Info: ElementWidget build(): voucherId
[D.RUN] Info: resolving: voucherId's dependencies: [[transaction]]
I/flutter (10426): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): │ element: voucherId evaluate rules with: transaction= null
I/flutter (10426): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[D.RUN] Info: Evaluating initState: voucherId for Instance of 'FieldInstance<String>' init value: null
[D.RUN] Info: elementCallback.. Notifier: transaction, notifying: voucherId
[D.RUN] Info: ElementWidget build(): voucherDate
[D.RUN] I/flutter (10426): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Info: resolving: voucherDate's dependencies: [[transaction]]
I/flutter (10426): │ element: voucherDate evaluate rules with: transaction= null
I/flutter (10426): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[D.RUN] Info: Evaluating initState: voucherDate for Instance of 'FieldInstance<String>' init value: null
[D.RUN] Info: elementCallback.. Notifier: transaction, notifying: voucherDate
[D.RUN] Info: ElementWidget build(): supplier
I/flutter (10426): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): │ element: supplier evaluate rules with: transaction= null
I/flutter (10426): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[D.RUN] Info: resolving: supplier's dependencies: [[transaction]]
[D.RUN] Info: Evaluating initState: supplier for Instance of 'FieldInstance<String>' init value: null
[D.RUN] Info: elementCallback.. Notifier: transaction, notifying: supplier
[D.RUN] Info: ElementWidget build(): distinationWarehouse
[D.RUN] Info: ElementWidget build(): stockItems
[D.RUN] Info: resolving: _orgUnit's dependencies: [[]]
[D.RUN] Info: resolving: distinationWarehouse's dependencies: [[transaction]]
I/flutter (10426): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): │ element: distinationWarehouse evaluate rules with: transaction= null
I/flutter (10426): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[D.RUN] Info: Evaluating initState: distinationWarehouse for Instance of 'FieldInstance<String>' init value: null
[D.RUN] Info: elementCallback.. Notifier: transaction, notifying: distinationWarehouse
Changing transaction:
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): │ element: voucherId evaluate rules with: transaction= supply
I/flutter (10426): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): │ element: voucherDate evaluate rules with: transaction= supply
I/flutter (10426): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): │ element: supplier evaluate rules with: transaction= supply
I/flutter (10426): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (10426): │ element: distinationWarehouse evaluate rules with: transaction= supply
I/flutter (10426): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────