logs method
Implementation
LogStream<void> logs({required String containerId, bool follow = false}) {
final requestId = Uuid().v4().toString();
final controller = StreamController<String>();
final completer = Completer();
final progress = StreamController<LogProgress>();
final stream = LogStream._(completer, controller.stream, progress.stream, () async {
await room.sendRequest('containers.stop_logs', {'request_id': requestId});
});
_loggers[requestId] = controller;
_progress[requestId] = progress;
room
.sendRequest("containers.logs", {"request_id": requestId, "id": containerId, "follow": follow})
.then(
(_) {
controller.close();
completer.complete();
_loggers.remove(requestId);
},
onError: (error) {
controller.close();
completer.completeError(error);
_loggers.remove(requestId);
},
);
return stream;
}