Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dio add custom log level #306

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions packages/talker_dio_logger/lib/dio_logs.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ class DioRequestLog extends TalkerLog {
@override
String get key => TalkerLogType.httpRequest.key;

@override
LogLevel get logLevel => settings.logLevel;

@override
String generateTextMessage({
TimeFormat timeFormat = TimeFormat.timeAndSeconds,
Expand Down Expand Up @@ -63,6 +66,9 @@ class DioResponseLog extends TalkerLog {
@override
String get key => TalkerLogType.httpResponse.key;

@override
LogLevel get logLevel => settings.logLevel;

@override
String generateTextMessage({
TimeFormat timeFormat = TimeFormat.timeAndSeconds,
Expand Down Expand Up @@ -111,6 +117,9 @@ class DioErrorLog extends TalkerLog {
@override
String get key => TalkerLogType.httpError.key;

@override
LogLevel get logLevel => LogLevel.error;

@override
String generateTextMessage({
TimeFormat timeFormat = TimeFormat.timeAndSeconds,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import 'package:talker/talker.dart';
class TalkerDioLoggerSettings {
const TalkerDioLoggerSettings({
this.enabled = true,
this.logLevel = LogLevel.debug,
this.printResponseData = true,
this.printResponseHeaders = false,
this.printResponseMessage = true,
Expand All @@ -24,6 +25,9 @@ class TalkerDioLoggerSettings {
// Print Dio logger if true
final bool enabled;

// LogLevel, default is debug
final LogLevel logLevel;

/// Print [response.data] if true
final bool printResponseData;

Expand Down
48 changes: 48 additions & 0 deletions packages/talker_dio_logger/test/logs_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,20 @@ void main() {
result, contains('Headers: {\n "Authorization": "Bearer Token"\n}'));
});

test('logLevel should return settings logLevel', () {
final requestOptions = RequestOptions(path: '/test', method: 'GET');
final settings = TalkerDioLoggerSettings(
logLevel: LogLevel.info,
);
final dioRequestLog = DioRequestLog(
'Test message',
requestOptions: requestOptions,
settings: settings,
);

expect(dioRequestLog.logLevel, equals(LogLevel.info));
});

// Add more tests for DioRequestLog as needed
});

Expand Down Expand Up @@ -127,6 +141,23 @@ void main() {
'}'));
});

test('logLevel should return settings logLevel', () {
final response = Response(
requestOptions: RequestOptions(path: '/test', method: 'GET'),
statusCode: 200,
);
final settings = TalkerDioLoggerSettings(
logLevel: LogLevel.warning,
);
final dioResponseLog = DioResponseLog(
'Test message',
response: response,
settings: settings,
);

expect(dioResponseLog.logLevel, equals(LogLevel.warning));
});

// Add more tests for DioResponseLog as needed
});

Expand Down Expand Up @@ -262,5 +293,22 @@ void main() {
'}',
));
});

test('logLevel should always return error level', () {
final dioException = DioException(
requestOptions: RequestOptions(path: '/test', method: 'GET'),
message: 'Error message',
);
final settings = TalkerDioLoggerSettings(
logLevel: LogLevel.info,
);
final dioErrorLog = DioErrorLog(
'Error title',
dioException: dioException,
settings: settings,
);

expect(dioErrorLog.logLevel, equals(LogLevel.error));
});
});
}
27 changes: 27 additions & 0 deletions packages/talker_dio_logger/test/settings_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -110,5 +110,32 @@ void main() {
equals(originalSettings.errorPen),
);
});

test('default logLevel should be debug', () {
final settings = TalkerDioLoggerSettings();
expect(settings.logLevel, equals(LogLevel.debug));
});

test('copyWith should preserve logLevel if not specified', () {
final originalSettings = TalkerDioLoggerSettings(
logLevel: LogLevel.warning,
);
final updatedSettings = originalSettings.copyWith(
printResponseData: false,
);

expect(updatedSettings.logLevel, equals(LogLevel.warning));
});

test('copyWith should update logLevel when specified', () {
final originalSettings = TalkerDioLoggerSettings(
logLevel: LogLevel.debug,
);
final updatedSettings = originalSettings.copyWith(
logLevel: LogLevel.error,
);

expect(updatedSettings.logLevel, equals(LogLevel.error));
});
});
}
Loading