feat(app): live terminal log console widget and service dynamic settings management
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
class LogMessageDto {
|
||||
final DateTime timestamp;
|
||||
final String serviceName;
|
||||
final String channel;
|
||||
final String level; // 'Information', 'Warning', 'Error', 'Debug', 'Trace'
|
||||
final String message;
|
||||
final String? exception;
|
||||
|
||||
const LogMessageDto({
|
||||
required this.timestamp,
|
||||
required this.serviceName,
|
||||
required this.channel,
|
||||
required this.level,
|
||||
required this.message,
|
||||
this.exception,
|
||||
});
|
||||
|
||||
factory LogMessageDto.fromJson(Map<String, dynamic> json) {
|
||||
DateTime parsedTime = DateTime.now();
|
||||
if (json['timestamp'] != null) {
|
||||
parsedTime = DateTime.tryParse(json['timestamp'].toString()) ?? DateTime.now();
|
||||
}
|
||||
|
||||
return LogMessageDto(
|
||||
timestamp: parsedTime.toLocal(),
|
||||
serviceName: json['serviceName']?.toString() ?? '',
|
||||
channel: json['channel']?.toString() ?? '',
|
||||
level: json['level']?.toString() ?? 'Information',
|
||||
message: json['message']?.toString() ?? '',
|
||||
exception: json['exception']?.toString(),
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'timestamp': timestamp.toUtc().toIso8601String(),
|
||||
'serviceName': serviceName,
|
||||
'channel': channel,
|
||||
'level': level,
|
||||
'message': message,
|
||||
'exception': exception,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user