mirror of
https://github.com/immich-app/immich.git
synced 2025-05-24 01:12:58 -04:00
refactor: log service Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
70 lines
1.3 KiB
Dart
70 lines
1.3 KiB
Dart
// ignore_for_file: constant_identifier_names
|
|
|
|
import 'package:logging/logging.dart';
|
|
|
|
/// Log levels according to dart logging [Level]
|
|
enum LogLevel {
|
|
ALL,
|
|
FINEST,
|
|
FINER,
|
|
FINE,
|
|
CONFIG,
|
|
INFO,
|
|
WARNING,
|
|
SEVERE,
|
|
SHOUT,
|
|
OFF,
|
|
}
|
|
|
|
class LogMessage {
|
|
final String message;
|
|
final LogLevel level;
|
|
final DateTime createdAt;
|
|
final String? logger;
|
|
final String? error;
|
|
final String? stack;
|
|
|
|
const LogMessage({
|
|
required this.message,
|
|
required this.level,
|
|
required this.createdAt,
|
|
this.logger,
|
|
this.error,
|
|
this.stack,
|
|
});
|
|
|
|
@override
|
|
bool operator ==(covariant LogMessage other) {
|
|
if (identical(this, other)) return true;
|
|
|
|
return other.message == message &&
|
|
other.level == level &&
|
|
other.createdAt == createdAt &&
|
|
other.logger == logger &&
|
|
other.error == error &&
|
|
other.stack == stack;
|
|
}
|
|
|
|
@override
|
|
int get hashCode {
|
|
return message.hashCode ^
|
|
level.hashCode ^
|
|
createdAt.hashCode ^
|
|
logger.hashCode ^
|
|
error.hashCode ^
|
|
stack.hashCode;
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return '''LogMessage: {
|
|
message: $message,
|
|
level: $level,
|
|
createdAt: $createdAt,
|
|
logger: ${logger ?? '<NA>'},
|
|
error: ${error ?? '<NA>'},
|
|
stack: ${stack ?? '<NA>'},
|
|
}''';
|
|
}
|
|
}
|