Skip to content

Commit aa2ae52

Browse files
committed
Extracted Level, LogEvent and OutputEvent into separate files
1 parent 12f5485 commit aa2ae52

21 files changed

+81
-66
lines changed

lib/logger.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@ library logger;
44
export 'src/ansi_color.dart';
55
export 'src/filters/development_filter.dart';
66
export 'src/filters/production_filter.dart';
7+
export 'src/log_event.dart';
78
export 'src/log_filter.dart';
9+
export 'src/log_level.dart';
810
export 'src/log_output.dart';
911
export 'src/log_printer.dart';
1012
export 'src/logger.dart';
13+
export 'src/output_event.dart';
1114
export 'src/outputs/console_output.dart';
1215
export 'src/outputs/file_output_stub.dart'
1316
if (dart.library.io) 'src/outputs/file_output.dart';

lib/src/filters/development_filter.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import '../log_event.dart';
12
import '../log_filter.dart';
2-
import '../logger.dart';
33

44
/// Prints all logs with `level >= Logger.level` while in development mode (eg
55
/// when `assert`s are evaluated, Flutter calls this debug mode).

lib/src/filters/production_filter.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import '../log_event.dart';
12
import '../log_filter.dart';
2-
import '../logger.dart';
33

44
/// Prints all logs with `level >= Logger.level` even in production.
55
class ProductionFilter extends LogFilter {

lib/src/log_event.dart

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import 'log_level.dart';
2+
3+
class LogEvent {
4+
final Level level;
5+
final dynamic message;
6+
final Object? error;
7+
final StackTrace? stackTrace;
8+
9+
/// Time when this log was created.
10+
final DateTime time;
11+
12+
LogEvent(
13+
this.level,
14+
this.message, {
15+
DateTime? time,
16+
this.error,
17+
this.stackTrace,
18+
}) : time = time ?? DateTime.now();
19+
}

lib/src/log_filter.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import 'log_event.dart';
2+
import 'log_level.dart';
13
import 'logger.dart';
24

35
/// An abstract filter of log messages.

lib/src/log_level.dart

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/// [Level]s to control logging output. Logging can be enabled to include all
2+
/// levels above certain [Level].
3+
enum Level {
4+
all(0),
5+
@Deprecated('[verbose] is being deprecated in favor of [trace].')
6+
verbose(999),
7+
trace(1000),
8+
debug(2000),
9+
info(3000),
10+
warning(4000),
11+
error(5000),
12+
@Deprecated('[wtf] is being deprecated in favor of [fatal].')
13+
wtf(5999),
14+
fatal(6000),
15+
@Deprecated('[nothing] is being deprecated in favor of [off].')
16+
nothing(9999),
17+
off(10000),
18+
;
19+
20+
final int value;
21+
22+
const Level(this.value);
23+
}

lib/src/log_output.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'dart:async';
22

3-
import 'logger.dart';
3+
import 'output_event.dart';
44

55
/// Log output receives a [OutputEvent] from [LogPrinter] and sends it to the
66
/// desired destination.

lib/src/log_printer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'logger.dart';
1+
import 'log_event.dart';
22

33
/// An abstract handler of log events.
44
///

lib/src/logger.dart

Lines changed: 3 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,13 @@
11
import 'filters/development_filter.dart';
2+
import 'log_event.dart';
23
import 'log_filter.dart';
4+
import 'log_level.dart';
35
import 'log_output.dart';
46
import 'log_printer.dart';
7+
import 'output_event.dart';
58
import 'outputs/console_output.dart';
69
import 'printers/pretty_printer.dart';
710

8-
/// [Level]s to control logging output. Logging can be enabled to include all
9-
/// levels above certain [Level].
10-
enum Level {
11-
all(0),
12-
@Deprecated('[verbose] is being deprecated in favor of [trace].')
13-
verbose(999),
14-
trace(1000),
15-
debug(2000),
16-
info(3000),
17-
warning(4000),
18-
error(5000),
19-
@Deprecated('[wtf] is being deprecated in favor of [fatal].')
20-
wtf(5999),
21-
fatal(6000),
22-
@Deprecated('[nothing] is being deprecated in favor of [off].')
23-
nothing(9999),
24-
off(10000),
25-
;
26-
27-
final int value;
28-
29-
const Level(this.value);
30-
}
31-
32-
class LogEvent {
33-
final Level level;
34-
final dynamic message;
35-
final Object? error;
36-
final StackTrace? stackTrace;
37-
38-
/// Time when this log was created.
39-
final DateTime time;
40-
41-
LogEvent(
42-
this.level,
43-
this.message, {
44-
DateTime? time,
45-
this.error,
46-
this.stackTrace,
47-
}) : time = time ?? DateTime.now();
48-
}
49-
50-
class OutputEvent {
51-
final List<String> lines;
52-
final LogEvent origin;
53-
54-
Level get level => origin.level;
55-
56-
OutputEvent(this.origin, this.lines);
57-
}
58-
5911
typedef LogCallback = void Function(LogEvent event);
6012

6113
typedef OutputCallback = void Function(OutputEvent event);

lib/src/output_event.dart

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import 'log_event.dart';
2+
import 'log_level.dart';
3+
4+
class OutputEvent {
5+
final List<String> lines;
6+
final LogEvent origin;
7+
8+
Level get level => origin.level;
9+
10+
OutputEvent(this.origin, this.lines);
11+
}

0 commit comments

Comments
 (0)