1010// ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
1111//.title~
1212
13+ import 'package:meta/meta.dart' ;
14+
1315import '/_common.dart' ;
1416
1517// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
@@ -27,6 +29,8 @@ final class LogItem {
2729 final Object ? message;
2830 final Object ? metadata;
2931 final Set <Symbol > tags;
32+ final int internalIndex;
33+ static int _internalCount = 0 ;
3034
3135 //
3236 //
@@ -40,6 +44,7 @@ final class LogItem {
4044 //
4145 //
4246
47+ @protected
4348 LogItem ({
4449 required this .location,
4550 required this .icon,
@@ -50,8 +55,9 @@ final class LogItem {
5055 required this .showTags,
5156 required this .showTimestamp,
5257 required this .frame,
53- }) : id = const Uuid ().v4 (),
54- timestamp = DateTime .now ();
58+ }) : id = const Uuid ().v4 (),
59+ timestamp = DateTime .now (),
60+ internalIndex = _internalCount++ ;
5561
5662 //
5763 //
@@ -104,12 +110,10 @@ final class LogItem {
104110 final hasLocation = location1 != null && location1.isNotEmpty;
105111
106112 if (hasLocation) {
107- final bracketStyle = nonMessageStyle != null
108- ? AnsiStyle .bold + nonMessageStyle
109- : null ;
110- final pathTextStyle = nonMessageStyle != null
111- ? AnsiStyle .italic + nonMessageStyle
112- : null ;
113+ final bracketStyle =
114+ nonMessageStyle != null ? AnsiStyle .bold + nonMessageStyle : null ;
115+ final pathTextStyle =
116+ nonMessageStyle != null ? AnsiStyle .italic + nonMessageStyle : null ;
113117 if (icon != null ) {
114118 buffer.write ('$icon ' );
115119 }
@@ -126,8 +130,8 @@ final class LogItem {
126130
127131 if (message != null ) {
128132 final styledMessage = message.toString ().trim ().withAnsiStyle (
129- messageStyle,
130- );
133+ messageStyle,
134+ );
131135 buffer.write (styledMessage);
132136 }
133137
@@ -177,9 +181,8 @@ final class LogItem {
177181
178182 String toJson ({bool pretty = true }) {
179183 final map = toMap ();
180- final encoder = pretty
181- ? const JsonEncoder .withIndent (' ' )
182- : const JsonEncoder ();
184+ final encoder =
185+ pretty ? const JsonEncoder .withIndent (' ' ) : const JsonEncoder ();
183186 return encoder.convert (map);
184187 }
185188
0 commit comments