public void NLogMail() { var verboseLogger = NLog.LogManager.GetLogger("MailTest:" + nameof(NLogMailUnitTest)); var c = 0; var verboseMessages = LogTestManager.Generate(20); var at = DateTime.Now; foreach (var verbose in verboseMessages) { var logEventInfo = new LogEventInfo() { Level = LogLevel.Debug, TimeStamp = verbose.DateTime, Message = verbose.Message, }; logEventInfo.Properties["LoggedAt"] = verbose.DateTime; logEventInfo.Properties["Number"] = c++; verboseLogger.Log(logEventInfo); } // https://github.com/cmendible/netDumbster // var smtpMessage = server.ReceivedEmail[0]; // var body = smtpMessage.MessageParts[0].BodyData if (server.ReceivedEmailCount != 5) { throw new ApplicationException("limited to 5 emails"); } }
public void NLogMailAssync() { var verboseLogger = NLog.LogManager.GetLogger("MailTest:" + nameof(NLogMailAssync)); var c = 0; for (var r = 0; r <= repeats; r++) { var tasks = new List <Task>(); for (var u = 0; u <= usersCount; u++) { var task = Task.Run( () => { for (var o = 0; o <= operations; o++) { var verboseMessages = LogTestManager.Generate(); var count = verboseMessages.Count(); //var i = 0; var at = DateTime.Now; foreach (var verbose in verboseMessages.Take(20)) { var number = Interlocked.Increment(ref c); var logEventInfo = new LogEventInfo() { Level = LogLevel.Debug, TimeStamp = verbose.DateTime, Message = verbose.Message, }; logEventInfo.Properties["LoggedAt"] = verbose.DateTime; logEventInfo.Properties["Number"] = number; verboseLogger.Log(logEventInfo); } Thread.Sleep(puaseBetweenOperationsMs); } } ); tasks.Add(task); } Task.WaitAll(tasks.ToArray()); } }