Skip to content

Commit 101cbde

Browse files
committed
Improve logging options
1 parent 101c6a1 commit 101cbde

File tree

6 files changed

+42
-8
lines changed

6 files changed

+42
-8
lines changed

flutter_cache_manager/lib/flutter_cache_manager.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ export 'src/cache_manager.dart';
22
export 'src/cache_managers/cache_managers.dart';
33
export 'src/compat/file_fetcher.dart';
44
export 'src/config/config.dart';
5+
export 'src/logger.dart';
56
export 'src/result/result.dart';
67
export 'src/storage/cache_info_repositories/cache_info_repositories.dart';
78
export 'src/web/file_service.dart';

flutter_cache_manager/lib/src/cache_manager.dart

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'package:flutter/foundation.dart';
66
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
77
import 'package:flutter_cache_manager/src/cache_managers/base_cache_manager.dart';
88
import 'package:flutter_cache_manager/src/cache_store.dart';
9+
import 'package:flutter_cache_manager/src/logger.dart';
910
import 'package:flutter_cache_manager/src/result/download_progress.dart';
1011
import 'package:flutter_cache_manager/src/result/file_info.dart';
1112
import 'package:flutter_cache_manager/src/result/file_response.dart';
@@ -23,6 +24,8 @@ import 'config/config.dart';
2324
/// Basic cache manager implementation, which should be used as a single
2425
/// instance.
2526
class CacheManager implements BaseCacheManager {
27+
static CacheManagerLogLevel logLevel = CacheManagerLogLevel.none;
28+
2629
/// Creates a new instance of a cache manager. This can be used to retrieve
2730
/// files from the cache or download them online. The http headers are used
2831
/// for the maximum age of the files. The BaseCacheManager should only be
@@ -130,8 +133,9 @@ class CacheManager implements BaseCacheManager {
130133
withProgress = false;
131134
}
132135
} catch (e) {
133-
print(
134-
'CacheManager: Failed to load cached file for $url with error:\n$e');
136+
cacheLogger.log(
137+
'CacheManager: Failed to load cached file for $url with error:\n$e',
138+
CacheManagerLogLevel.debug);
135139
}
136140
if (cacheFile == null || cacheFile.validTill.isBefore(DateTime.now())) {
137141
try {
@@ -145,11 +149,9 @@ class CacheManager implements BaseCacheManager {
145149
}
146150
}
147151
} catch (e) {
148-
assert(() {
149-
print(
150-
'CacheManager: Failed to download file from $url with error:\n$e');
151-
return true;
152-
}());
152+
cacheLogger.log(
153+
'CacheManager: Failed to download file from $url with error:\n$e',
154+
CacheManagerLogLevel.debug);
153155
if (cacheFile == null && streamController.hasListener) {
154156
streamController.addError(e);
155157
}

flutter_cache_manager/lib/src/cache_store.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import 'package:flutter_cache_manager/src/config/config.dart';
44
import 'package:flutter_cache_manager/src/storage/file_system/file_system.dart';
55
import 'package:pedantic/pedantic.dart';
66

7+
import '../flutter_cache_manager.dart';
8+
import 'logger.dart';
79
import 'result/file_info.dart';
810
import 'storage/cache_info_repositories/cache_info_repository.dart';
911
import 'storage/cache_object.dart';
@@ -41,6 +43,9 @@ class CacheStore {
4143
return null;
4244
}
4345
final file = await fileSystem.createFile(cacheObject.relativePath);
46+
cacheLogger.log(
47+
'CacheManager: Loaded $key from cache', CacheManagerLogLevel.verbose);
48+
4449
return FileInfo(
4550
file,
4651
FileSource.Cache,
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import '../flutter_cache_manager.dart';
2+
3+
CacheLogger cacheLogger = CacheLogger();
4+
5+
enum CacheManagerLogLevel {
6+
none,
7+
warning,
8+
debug,
9+
verbose,
10+
}
11+
12+
class CacheLogger {
13+
void log(String message, CacheManagerLogLevel level) {
14+
if (CacheManager.logLevel.index >= level.index) {
15+
print(message);
16+
}
17+
}
18+
}

flutter_cache_manager/lib/src/storage/cache_info_repositories/cache_info_repository.dart

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

3+
import 'package:flutter_cache_manager/src/logger.dart';
34
import 'package:flutter_cache_manager/src/storage/cache_object.dart';
45

56
/// Base class for cache info repositories
@@ -58,7 +59,10 @@ extension MigrationExtension on CacheInfoRepository {
5859
var cacheObjects = await previousRepository.getAllObjects();
5960
await _putAll(cacheObjects);
6061
var isClosed = await previousRepository.close();
61-
if (!isClosed) print('Deleting an open repository while migrating.');
62+
if (!isClosed) {
63+
cacheLogger.log('Deleting an open repository while migrating.',
64+
CacheManagerLogLevel.warning);
65+
}
6266
await previousRepository.deleteDataFile();
6367
}
6468

flutter_cache_manager/lib/src/web/web_helper.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import 'package:pedantic/pedantic.dart';
1616
import 'package:rxdart/rxdart.dart';
1717
import 'package:uuid/uuid.dart';
1818

19+
import '../logger.dart';
20+
1921
///Flutter Cache Manager
2022
///Copyright (c) 2019 Rene Floor
2123
///Released under MIT License.
@@ -60,6 +62,8 @@ class WebHelper {
6062
_queue.add(QueueItem(url, key, authHeaders));
6163
return;
6264
}
65+
cacheLogger.log(
66+
'CacheManager: Downloading $url', CacheManagerLogLevel.verbose);
6367

6468
concurrentCalls++;
6569
var subject = _memCache[key]!;

0 commit comments

Comments
 (0)