private AddLogItemRequest CreateMetaDataLogItemRequest(RanorexRpLogItem logItem, LogLevel level)
        {
            var rq = new AddLogItemRequest();

            rq.Time  = DateTime.UtcNow;
            rq.Level = level;
            rq.Text  = ConstructMetaDataLogMessage(logItem);

            return(rq);
        }
        private string ConstructMetaDataLogMessage(RanorexRpLogItem logItem)
        {
            var meta = new StringBuilder();

            meta.Append("\r\n\r\n")
            .Append("Meta Info:\r\n");

            foreach (var key in logItem.MetaInfo.Keys)
            {
                meta.Append("\t").Append(key).Append(" => ").Append(logItem.MetaInfo[key]).Append("\r\n");
            }

            return(meta.ToString());
        }
        private AddLogItemRequest CreateLogItemRequest(RanorexRpLogItem logItem, LogLevel level)
        {
            var rq = new AddLogItemRequest();

            rq.Time  = DateTime.UtcNow;
            rq.Level = level;
            rq.Text  = logItem.Category + " - " + logItem.Message;

            if (logItem.AttachData != null)
            {
                rq.Attach = new Attach("Attachment", "image/jpeg", logItem.AttachData);
            }
            return(rq);
        }
        private void ReportToReportPortal(RanorexRpLogItem logItem)
        {
            var level = DetermineLogLevel(logItem.Level.Name);

            SetOrCreateReporter(TestSuite.Current);
            //report message
            _currentReporter.Log(CreateLogItemRequest(logItem, level));

            //report meta-info if present
            if (logItem.MetaInfo.Keys.Count > 0)
            {
                _currentReporter.Log(CreateMetaDataLogItemRequest(logItem, LogLevel.Debug));
            }

            UpdateCurrentTestState(logItem.Level.Name);
        }