public void deploymentLogs(WorkflowContext context) throws HyscaleException {
        String appName = context.getAppName();
        String serviceName = context.getServiceName();
        String namespace = context.getNamespace();
        String replicaName = (String) context.getAttribute(WorkflowConstants.REPLICA_NAME);

        Boolean isTail = (Boolean) context.getAttribute(WorkflowConstants.TAIL_LOGS);
        isTail = (isTail == null) ? false : isTail;
        Integer lines = (Integer) context.getAttribute(WorkflowConstants.LINES);
        AuthConfig authConfig = context.getAuthConfig();

        String selectedPod = null;
        try {
            selectedPod = validateAndGetReplicaName(authConfig, appName, serviceName, replicaName, namespace);
        } catch (HyscaleException e) {
            context.setFailed(true);
            WorkflowLogger.error(ControllerActivity.CAUSE, e.getMessage());
            WorkflowLogger.footer();
            throw e;
        }
        if (StringUtils.isBlank(selectedPod)) {
            return;
        }
        try {
            WorkflowLogger.header(ControllerActivity.SERVICE_LOGS, selectedPod);
            deployerLogUtil.processLogs(authConfig, appName, serviceName, selectedPod, namespace, lines, isTail);
        } catch (HyscaleException ex) {
            logger.error("Error while getting deployment logs for service: {}, in namespace: {}", serviceName,
                    namespace, ex);
            if (ex.getHyscaleError() == DeployerErrorCodes.FAILED_TO_RETRIEVE_POD) {
                WorkflowLogger.error(ControllerActivity.SERVICE_NOT_CREATED);
            } else {
                context.setFailed(true);
                WorkflowLogger.error(ControllerActivity.FAILED_TO_STREAM_SERVICE_LOGS, ex.getMessage());
            }
            WorkflowLogger.error(ControllerActivity.CHECK_SERVICE_STATUS);
            throw ex;
        } finally {
            WorkflowLogger.footer();
        }
    }
Deployment logs
User can provide a replica for which he wants to see the logs,
in which case if replica exists its logs are shown to the user.
If the provided replica does not exist, available replicas are printed and the flow stops.
In case user doesn't provide a replica, and there are more than 1 replica
user is prompted to choose from the available replicas.
Chosen replica logs are shown to the user.

@param context
@throws HyscaleException
workflow-controller/controller-service/src/main/java/io/hyscale/controller/util/LoggerUtility.java