/// <summary> /// LogClientMessage (should only be called from admin log controller) /// </summary> /// <param name="logEntry">message</param> /// <param name="sessionId">id of session (optional)</param> /// <param name="userName">user name (optional)</param> /// <example> /// var servicelog = new ServiceLogRepository(); /// await servicelog.LogClientMessage("FileStore API", "Hello World"); /// </example> public async Task <HttpResponseMessage> LogClientMessage( ClientLogModel logEntry, string sessionId, string userName) { // create the log entry StandardLogModel serviceLog = new StandardLogModel { Source = logEntry.Source, LogLevel = (LogLevelEnum)logEntry.LogLevel, Message = logEntry.Message, OccurredAt = DateTime.Now, SessionId = sessionId, UserName = userName, MethodName = "", FilePath = "", LineNumber = 0, StackTrace = logEntry.StackTrace }; await LogStandardLog(serviceLog); // don't care about errors return(new HttpResponseMessage(HttpStatusCode.OK)); }
public void StandardLog_Critical_ReturnsOk() { // Arrange var controller = new LogController(); var logEntry = new StandardLogModel { LogLevel = LogLevelEnum.Critical, Source = "Controller source", Message = "Hello", OccurredAt = DateTime.Now }; // Act var result = controller.Log(logEntry); // Assert Assert.IsInstanceOfType(result, typeof(OkResult)); }
public async Task LogStandardLog_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 StandardLogModel() { Source = "ServiceLogRepositoryTests", LogLevel = LogLevelEnum.Informational, Message = "Hello World", UserName = "******" }; // Act await servicelog.LogStandardLog(logEntry); // Assert // Doesn't return anything }
public async Task LogStandardLog(StandardLogModel 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/standardlog", content); response.EnsureSuccessStatusCode(); } catch (Exception ex) { _localLog.LogErrorFormat("Problem with ConfigControl Log service: {0}", ex.Message); } }
public IHttpActionResult Log([FromBody] StandardLogModel logEntry) { string ipAdress = GetIpAddress(); switch (logEntry.LogLevel) { case LogLevelEnum.Error: StandardLogEventSource.Log.Error( ipAdress, logEntry.Source, logEntry.Message, logEntry.StackTrace, logEntry.OccurredAt, logEntry.SessionId, logEntry.UserName); break; case LogLevelEnum.Warning: StandardLogEventSource.Log.Warning( ipAdress, logEntry.Source, logEntry.Message, logEntry.OccurredAt, logEntry.SessionId, logEntry.UserName); break; case LogLevelEnum.Informational: StandardLogEventSource.Log.Informational( ipAdress, logEntry.Source, logEntry.Message, logEntry.OccurredAt, logEntry.SessionId, logEntry.UserName); break; case LogLevelEnum.Verbose: StandardLogEventSource.Log.Verbose( ipAdress, logEntry.Source, logEntry.Message, logEntry.OccurredAt, logEntry.SessionId, logEntry.UserName); break; case LogLevelEnum.Critical: StandardLogEventSource.Log.Critical( ipAdress, logEntry.Source, logEntry.Message, logEntry.StackTrace, logEntry.OccurredAt, logEntry.SessionId, logEntry.UserName); break; default: break; } return(Ok()); }