-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp_log_impl.dart
83 lines (68 loc) · 1.7 KB
/
app_log_impl.dart
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import 'package:fa_dart_logger/src/logger/helper/log_helper.dart';
import 'package:logger/logger.dart';
import 'base/app_log.dart';
import 'logger/model/index.dart';
import 'logger/output/my_console_output.dart';
import 'logger/printer/my_pretty_printer.dart';
class AppLogImpl implements AppLog {
AppLogImpl({this.packageName}) {
_logger = Logger(
printer: MyPrettyPrinter(),
output: MyConsoleOutput(
packageName: packageName,
),
);
}
final String? packageName;
late Logger _logger;
UserInfo? _userInfo;
// ignore: avoid_setters_without_getters
set userInfo(UserInfo userInfo) {
_userInfo = userInfo;
}
@override
void d(object) {
_logger.d(object);
}
@override
void e(object, StackTrace s) {
_logger.e(object, null, s);
}
@override
void i(object) {
_logger.i(object);
}
@override
void v(object) {
_logger.v(object);
}
@override
void w(object) {
_logger.w(object);
}
@override
void wtf(object) {
_logger.wtf(object);
}
/// [userInfo] must be set, before calling this method
@override
void r(
LogInfo logInfo, {
Severity severity = Severity.high,
}) {
if (_userInfo == null) {
d("Initialise user info before calling this method");
return;
}
/// TODO(@singhtaranjeet): Will capture the priority from remote config
const remotePriority = Severity.high;
if (shouldCaptureLog(
remoteSeverity: remotePriority, logSeverity: severity)) {
// Log the data to API Logger
final logData =
ApiLogInfo.fromLogInfo(logInfo: logInfo, userInfo: _userInfo!);
/// TODO(@singhtaranjeet): call remote log api
_logger.i(logData);
}
}
}