app_logger.dart
1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import 'package:flutter/foundation.dart';
import 'package:logger/logger.dart';
/// App-wide logger; debug builds use verbose output.
abstract final class AppLogger {
static Logger? _logger;
static void init({bool? enableInRelease}) {
final enabled = enableInRelease ?? kDebugMode;
_logger = Logger(
level: enabled ? Level.debug : Level.warning,
printer: PrettyPrinter(
methodCount: 0,
errorMethodCount: 5,
lineLength: 100,
colors: true,
printEmojis: false,
dateTimeFormat: DateTimeFormat.onlyTimeAndSinceStart,
),
);
}
static Logger get _log {
assert(_logger != null, 'Call AppLogger.init() before logging');
return _logger!;
}
static void d(Object? message, [Object? error, StackTrace? stackTrace]) {
_log.d(message, error: error, stackTrace: stackTrace);
}
static void i(Object? message, [Object? error, StackTrace? stackTrace]) {
_log.i(message, error: error, stackTrace: stackTrace);
}
static void w(Object? message, [Object? error, StackTrace? stackTrace]) {
_log.w(message, error: error, stackTrace: stackTrace);
}
static void e(Object? message, [Object? error, StackTrace? stackTrace]) {
_log.e(message, error: error, stackTrace: stackTrace);
}
}