public IHttpActionResult WriteToLog(string app, [FromBody]LogEntryLevelModel logEntry) { IHttpActionResult result = null; //If OccuredOn in post object is not valid format, C# defaults to {1/1/0001 12:00:00 AM} if (ModelState.IsValid) { //LogMessage(app, logEntry.logLevel, logEntry); //Is there a more compact way to build the AppLogEntryModel as an extension of the original logEntry parameter, plus the string app? AppLogEntry queueEntry = new AppLogEntry(); queueEntry.App = app; queueEntry.Level = logEntry.logLevel; queueEntry.OccurredOn = logEntry.occuredOn; queueEntry.Message = logEntry.message; //Consumer.Notify(queueEntry); Observer.OnNext(queueEntry); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Accepted); result = new ResponseMessageResult(response); } else { result = BadRequest("Missing required details."); } return result; }
public IHttpActionResult WriteToLog(string app, LogLevel logLevel, [FromBody]LogEntryModel logEntry) { IHttpActionResult result = null; //If OccuredOn in post object is not valid format, C# defaults to {1/1/0001 12:00:00 AM} if (ModelState.IsValid) { //LogMessage(app, logLevel, logEntry); //Repetition w/ other post action, how to dry code with slight variation on accessing logLevel AppLogEntry queueEntry = new AppLogEntry(); queueEntry.App = app; queueEntry.Level = logLevel; queueEntry.OccurredOn = logEntry.occuredOn; queueEntry.Message = logEntry.message; //Consumer.Notify(queueEntry); Observer.OnNext(queueEntry); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Accepted); result = new ResponseMessageResult(response); } else { result = BadRequest("Missing required details."); } return result; }
private void LogMessage(AppLogEntry logEntry) { switch (logEntry.Level) { case LogLevel.Info: Log.InfoFormat("Message from {0} received at {1} : {2}", logEntry.App, logEntry.OccurredOn, logEntry.Message); break; case LogLevel.Warn: Log.WarnFormat("Message from {0} received at {1} : {2}", logEntry.App, logEntry.OccurredOn, logEntry.Message); break; case LogLevel.Debug: Log.DebugFormat("Message from {0} received at {1} : {2}", logEntry.App, logEntry.OccurredOn, logEntry.Message); break; case LogLevel.Error: Log.ErrorFormat("Message from {0} received at {1} : {2}", logEntry.App, logEntry.OccurredOn, logEntry.Message); break; case LogLevel.Fatal: Log.FatalFormat("Message from {0} received at {1} : {2}", logEntry.App, logEntry.OccurredOn, logEntry.Message); break; } }
private void Cache(AppLogEntry appLogEntry) { errorCache.Add(appLogEntry); context.Clients.All.updateCount(errorCache.Count); }