public async Task LogCLog(CLogModel logEntry)
        {
            try
            {
                var uri = _configControlUri;
                if (string.IsNullOrWhiteSpace(uri))
                {
                    throw new ApplicationException("Application setting not set: ConfigControl");
                }

                var http = _httpClientProvider.Create(new Uri(uri));

                // Convert Object to JSON
                var requestMessage = JsonConvert.SerializeObject(logEntry);
                var content        = new StringContent(requestMessage, Encoding.UTF8, "application/json");

                HttpResponseMessage response = await http.PostAsync(@"log/clog", content);

                response.EnsureSuccessStatusCode();
            }
            catch (Exception ex)
            {
                _localLog.LogErrorFormat("Problem with ConfigControl Log service: {0}", ex.Message);
            }
        }
Esempio n. 2
0
        public void CLog_Critical_ReturnsOk()
        {
            // Arrange
            var controller = new LogController();
            var logEntry   = new CLogModel
            {
                LogLevel   = LogLevelEnum.Critical,
                Source     = "Controller source",
                Message    = "Hello",
                OccurredAt = DateTime.Now
            };

            // Act
            var result = controller.Log(logEntry);

            // Assert
            Assert.IsInstanceOfType(result, typeof(OkResult));
        }
Esempio n. 3
0
        public void CLog_WithAction_Verbose_ReturnsOk()
        {
            // Arrange
            var controller = new LogController();
            var logEntry   = new CLogModel
            {
                LogLevel   = LogLevelEnum.Verbose,
                Source     = "Controller source",
                Message    = "Hello",
                OccurredAt = DateTime.Now,
                ActionName = "TestAction"
            };

            // Act
            var result = controller.Log(logEntry);

            // Assert
            Assert.IsInstanceOfType(result, typeof(OkResult));
        }
Esempio n. 4
0
        public async Task LogCLog_Success()
        {
            // Arrange
            var httpClientProvider = new TestHttpClientProvider(request => new HttpResponseMessage(HttpStatusCode.OK));
            var localLog           = new Mock <ILocalLog>().Object;
            var servicelog         = new ServiceLogRepository(httpClientProvider, localLog);
            var logEntry           = new CLogModel()
            {
                Source   = "ServiceLogRepositoryTests",
                LogLevel = LogLevelEnum.Informational,
                Message  = "Hello World",
                UserName = "******"
            };

            // Act
            await servicelog.LogCLog(logEntry);

            // Assert
            // Doesn't return anything
        }
Esempio n. 5
0
        public IHttpActionResult Log([FromBody] CLogModel logEntry)
        {
            string ipAdress = GetIpAddress();

            if (string.IsNullOrEmpty(logEntry.ActionName))
            {
                switch (logEntry.LogLevel)
                {
                case LogLevelEnum.Error:
                    CLogEventSource.Log.Error(
                        ipAdress,
                        logEntry.Source,
                        logEntry.Message,
                        logEntry.StackTrace,
                        logEntry.OccurredAt,
                        logEntry.UserName);
                    break;

                case LogLevelEnum.Warning:
                    CLogEventSource.Log.Warning(
                        ipAdress,
                        logEntry.Source,
                        logEntry.Message,
                        logEntry.OccurredAt,
                        logEntry.UserName);
                    break;

                case LogLevelEnum.Informational:
                    CLogEventSource.Log.Informational(
                        ipAdress,
                        logEntry.Source,
                        logEntry.Message,
                        logEntry.OccurredAt,
                        logEntry.UserName);
                    break;

                case LogLevelEnum.Verbose:
                    CLogEventSource.Log.Verbose(
                        ipAdress,
                        logEntry.Source,
                        logEntry.Message,
                        logEntry.OccurredAt,
                        logEntry.UserName);
                    break;

                case LogLevelEnum.Critical:
                    CLogEventSource.Log.Critical(
                        ipAdress,
                        logEntry.Source,
                        logEntry.Message,
                        logEntry.StackTrace,
                        logEntry.OccurredAt,
                        logEntry.UserName);
                    break;

                default:
                    break;
                }
            }
            else
            {
                switch (logEntry.LogLevel)
                {
                case LogLevelEnum.Error:
                    CLogEventSource.Log.ErrorPerf(
                        ipAdress,
                        logEntry.Source,
                        logEntry.Message,
                        logEntry.StackTrace,
                        logEntry.OccurredAt,
                        logEntry.UserName,
                        logEntry.ActionName,
                        logEntry.Duration);
                    break;

                case LogLevelEnum.Warning:
                    CLogEventSource.Log.WarningPerf(
                        ipAdress,
                        logEntry.Source,
                        logEntry.Message,
                        logEntry.OccurredAt,
                        logEntry.UserName,
                        logEntry.ActionName,
                        logEntry.Duration);
                    break;

                case LogLevelEnum.Informational:
                    CLogEventSource.Log.InformationalPerf(
                        ipAdress,
                        logEntry.Source,
                        logEntry.Message,
                        logEntry.OccurredAt,
                        logEntry.UserName,
                        logEntry.ActionName,
                        logEntry.Duration);
                    break;

                case LogLevelEnum.Verbose:
                    CLogEventSource.Log.VerbosePerf(
                        ipAdress,
                        logEntry.Source,
                        logEntry.Message,
                        logEntry.OccurredAt,
                        logEntry.UserName,
                        logEntry.ActionName,
                        logEntry.Duration);
                    break;

                case LogLevelEnum.Critical:
                    CLogEventSource.Log.CriticalPerf(
                        ipAdress,
                        logEntry.Source,
                        logEntry.Message,
                        logEntry.StackTrace,
                        logEntry.OccurredAt,
                        logEntry.UserName,
                        logEntry.ActionName,
                        logEntry.Duration);
                    break;

                default:
                    break;
                }
            }

            return(Ok());
        }