Skip to content

Commit d6e8579

Browse files
committed
+Add internalIndex to LogItem
1 parent 841012d commit d6e8579

5 files changed

Lines changed: 25 additions & 17 deletions

File tree

TODO.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# TODO
2+
3+
- [ ] Add a callback to execute when maxStoredLogs is reached.
4+
- [ ] Add a way to save logs to a zipped logfile.
Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
// ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
1111
//.title~
1212

13+
import 'package:meta/meta.dart';
14+
1315
import '/_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

lib/src/_src.g.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,5 @@
77
// ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
88
//.title~
99

10-
export './log.dart';
11-
export './log_item.dart';
1210
export './ansi_styled_string.dart';
11+
export './log.dart';

lib/src/log.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import 'dart:developer' as developer;
1212

1313
import '/_common.dart';
1414

15+
import '_log_item.dart';
16+
1517
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
1618

1719
final class Log {
@@ -42,7 +44,7 @@ final class Log {
4244
/// If `true`, new logs are added to the in-memory `items` queue.
4345
static var storeLogs = true;
4446

45-
static int _maxStoredLogs = 50;
47+
static int _maxStoredLogs = 500;
4648

4749
/// The maximum number of logs to keep in memory. Older logs are discarded.
4850
static int get maxStoredLogs => _maxStoredLogs;

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ funding:
2020
- https://github.com/sponsors/t0mb3rr
2121

2222
description: A package that provides logging utilities for better debugging.
23-
version: 0.3.28
23+
version: 0.3.29
2424
topics:
2525
- console
2626
- debugging

0 commit comments

Comments
 (0)