public void Log(CultureStringsBase message, MessageType messageType = MessageType.Default, IEnumerable <Object> formatList = null, ConsoleColor?messageColor = null, Int32 priority = 0, MessageAdditions messageAdditions = MessageAdditions.None) { LogMessage logMessage = new LogMessage(message, messageType, formatList, messageColor, priority, messageAdditions); Messages.Add(logMessage); Logged?.Invoke(logMessage); }
public LogMessage(CultureStringsBase message, MessageType messageType = MessageType.Default, IEnumerable <Object> data = null, ConsoleColor?messageColor = null, Int32 priority = 0, MessageAdditions messageAdditions = MessageAdditions.CurrentTime, Boolean newLine = true) { Message = message; Data = data?.ToArray(); MessageType = messageType; MessageColor = messageColor ?? MessageColors[MessageType]; Priority = priority; MessageAdditions = messageAdditions; NewLine = newLine; DateTime = DateTime.Now; }
public void Log(String message, MessageType messageType = MessageType.Default, IEnumerable <Object> formatList = null, ConsoleColor?color = null, Int32 priority = 0, MessageAdditions messageAdditions = MessageAdditions.CurrentTime, Boolean newLine = true) { foreach (String msg in message.Split(new[] { "\n" }, StringSplitOptions.RemoveEmptyEntries)) { if (MaximumLength > 0 && _messages.Count >= MaximumLength - 1) { _messages.RemoveRange(0, _messages.Count - MaximumLength + 1); } // ReSharper disable once PossibleMultipleEnumeration _messages.Add(new LogMessage(msg, messageType, formatList, color, priority, messageAdditions, newLine)); } UpdateLog(); }
public LogMessage(String message, MessageType messageType = MessageType.Default, IEnumerable <Object> data = null, ConsoleColor?messageColor = null, Int32 priority = 0, MessageAdditions messageAdditions = MessageAdditions.CurrentTime, Boolean newLine = true) : this(new CultureStringsBase(message), messageType, data, messageColor, priority, messageAdditions, newLine) { }