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); } }
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)); }
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)); }
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 }
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()); }