• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Floating-Dartists / matomo-tracker / 6454971306

09 Oct 2023 09:47AM UTC coverage: 93.108%. First build
6454971306

Pull #122

github

web-flow
Merge 529900ea8 into eec76315c
Pull Request #122: Bump package_info_plus from 4.1.0 to 5.0.0

743 of 798 relevant lines covered (93.11%)

2.87 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

97.14
/lib/src/logger/logger.dart
1
import 'dart:async';
2
import 'dart:developer' as dev;
3

4
import 'package:clock/clock.dart';
5
import 'package:matomo_tracker/src/logger/log_record.dart';
6

7
const _defaultLevel = Level.info;
8

9
class Logger {
10
  Logger([this.name = '']);
4✔
11

12
  final String name;
13

14
  StreamController<LogRecord>? _controller;
15
  StreamSubscription<LogRecord>? _subscription;
16

17
  Level _level = _defaultLevel;
18
  set level(Level level) => _level = level;
×
19

20
  void finest(Object? message) {
2✔
21
    _publish(
2✔
22
      LogRecord(
2✔
23
        level: Level.finest,
24
        time: clock.now(),
4✔
25
        message: message,
26
      ),
27
    );
28
  }
29

30
  void fine(Object? message) {
4✔
31
    _publish(
4✔
32
      LogRecord(
4✔
33
        level: Level.fine,
34
        time: clock.now(),
8✔
35
        message: message,
36
      ),
37
    );
38
  }
39

40
  void severe({
1✔
41
    Object? message,
42
    Object? error,
43
    StackTrace? stackTrace,
44
  }) {
45
    _publish(
1✔
46
      LogRecord(
1✔
47
        level: Level.severe,
48
        time: clock.now(),
2✔
49
        message: message,
50
        error: error,
51
        stackTrace: stackTrace,
52
      ),
53
    );
54
  }
55

56
  void setLogging({required Level level}) {
4✔
57
    _subscription?.cancel();
5✔
58
    _level = level;
4✔
59
    _subscription = onRecord.listen((record) {
13✔
60
      dev.log(
1✔
61
        record.message.toString(),
2✔
62
        time: record.time,
1✔
63
        level: record.level.value,
2✔
64
        name: name,
1✔
65
        error: record.error,
1✔
66
        stackTrace: record.stackTrace,
1✔
67
      );
68
    });
69
  }
70

71
  void _publish(LogRecord record) {
4✔
72
    if (record.level.value >= _level.value) {
20✔
73
      _controller?.add(record);
2✔
74
    }
75
  }
76

77
  Stream<LogRecord> get onRecord => _getStream();
8✔
78

79
  void clearListeners() {
2✔
80
    _controller?.close();
4✔
81
    _controller = null;
2✔
82
  }
83

84
  Stream<LogRecord> _getStream() {
4✔
85
    return (_controller ??= StreamController<LogRecord>.broadcast(sync: true))
8✔
86
        .stream;
4✔
87
  }
88
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc