Skip to content

Commit 425dad1

Browse files
authored
[mixin-logger] make initLogger return Future<void> instead of void (MixinNetwork#136)
* add await to initLogger * [mixin-logger] add unit test using initLogger
1 parent 0f8a978 commit 425dad1

File tree

5 files changed

+29
-10
lines changed

5 files changed

+29
-10
lines changed

Diff for: packages/mixin_logger/README.md

+11-2
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,23 @@ void main() {
2222
```dart
2323
void main() {
2424
// init logger with dir. then all logs will be saved to this dir.
25-
initLogger(
26-
'app_log_files_dir',
25+
await initLogger(
26+
'/tmp/app_log_files_dir',
2727
maxFileCount: 10, // max 10 files.
2828
maxFileLength: 5 * 1024 * 1024, // max to 5 MB for single file.
2929
);
30+
i('after initLogger');
3031
}
3132
```
3233

34+
The folder is created automatically:
35+
```
36+
pwd
37+
/tmp/app_log_files_dir
38+
cat log_0.log
39+
2022-08-26 12:41:00.623 [I] after initLogger
40+
```
41+
3342
## License
3443

3544
see [LICENSE](LICENSE)

Diff for: packages/mixin_logger/lib/mixin_logger.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,14 @@ extension _LogLevelExtension on _LogLevel {
6464
}
6565
}
6666

67-
void initLogger(
67+
Future<void> initLogger(
6868
String logDir, {
6969
int maxFileCount = 10,
7070
int maxFileLength = 1024 * 1024 * 10, // 10 MB
71-
}) {
71+
}) async {
7272
assert(maxFileCount > 1, 'maxFileCount must be greater than 1');
7373
assert(maxFileLength > 10 * 1024, 'maxFileLength must be greater than 10 KB');
74-
platform.initLogger(logDir, maxFileCount, maxFileLength);
74+
await platform.initLogger(logDir, maxFileCount, maxFileLength);
7575
}
7676

7777
void v(String message) {

Diff for: packages/mixin_logger/lib/src/write_log_to_file_io.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ void writeLog(String log) {
88
LogFileManager.instance?.write(log);
99
}
1010

11-
void initLogger(
11+
Future<void> initLogger(
1212
String logDir,
1313
int maxFileCount,
1414
int maxFileLength,
15-
) {
16-
LogFileManager.init(logDir, maxFileCount, maxFileLength);
15+
) async {
16+
await LogFileManager.init(logDir, maxFileCount, maxFileLength);
1717
}

Diff for: packages/mixin_logger/lib/src/write_log_to_file_web.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ void writeLog(String log) {
44
// do nothing.
55
}
66

7-
void initLogger(
7+
Future<void> initLogger(
88
String logDir,
99
int maxFileCount,
1010
int maxFileLength,
11-
) {}
11+
) async {}

Diff for: packages/mixin_logger/test/mixin_logger_test.dart

+10
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ void main() {
117117
expect(fileContent, equals('test\n'));
118118
});
119119

120+
120121
test('test write on other isolate', () async {
121122
await LogFileManager.init(dir, 10, 1024 * 1024 * 10);
122123
final manger = LogFileManager.instance!;
@@ -128,6 +129,15 @@ void main() {
128129
final fileContent = File(p.join(dir, 'log_0.log')).readAsStringSync();
129130
expect(fileContent, equals('main\nother isolate\n'));
130131
});
132+
133+
test('test write by initLogger', () async {
134+
await initLogger(dir, maxFileCount: 10, maxFileLength: 1024 * 1024 * 10);
135+
i('after initLogger');
136+
expect(FileSystemEntity.isFileSync(p.join(dir, 'log_0.log')), isTrue);
137+
final fileContent = File(p.join(dir, 'log_0.log')).readAsStringSync();
138+
expect(fileContent, contains('after initLogger\n'));
139+
});
140+
131141
}
132142

133143
void _writeLog(String message) {

0 commit comments

Comments
 (0)