Index: src/DeltaShell/DeltaShell.Gui/Forms/MessageWindow/MessageWindowLogAppender.cs =================================================================== diff -u -r673db4965deaf4262672e9e6d5c47f5f63952878 -r5fc71a385897af92ccb092f2f969b5709afab85a --- src/DeltaShell/DeltaShell.Gui/Forms/MessageWindow/MessageWindowLogAppender.cs (.../MessageWindowLogAppender.cs) (revision 673db4965deaf4262672e9e6d5c47f5f63952878) +++ src/DeltaShell/DeltaShell.Gui/Forms/MessageWindow/MessageWindowLogAppender.cs (.../MessageWindowLogAppender.cs) (revision 5fc71a385897af92ccb092f2f969b5709afab85a) @@ -12,59 +12,45 @@ { public class MessageWindowLogAppender : AppenderSkeleton { - private static IMessageWindow messageWindow; - private static ResourceManager resourceManager; - private static ResourceWriter resourceWriter; + /// + /// This list contains any messages that could not yet be delivered to the MessageWindow (typically because it doesn't exist + /// yet at startup). They are kept in the backlog and send to the MessageWindow upon the first message arriving while there + /// is a MessageWindow. + /// + protected static IList messageBackLog = new List(); + private static bool enabled; - public MessageWindowLogAppender() - { - } + public MessageWindowLogAppender() {} - public static IMessageWindow MessageWindow - { - get { return messageWindow; } - set { messageWindow = value; } - } + public static IMessageWindow MessageWindow { get; set; } /// /// Resource manager for looking up culture/language depended messages /// - public static ResourceManager ResourceManager - { - get { return resourceManager; } - set { resourceManager = value; } - } + public static ResourceManager ResourceManager { get; set; } /// /// Resource writer makes a catalogue for not found messages at the resources /// - public static ResourceWriter ResourceWriter - { - get { return resourceWriter; } - set { resourceWriter = value; } - } + public static ResourceWriter ResourceWriter { get; set; } public static bool Enabled { - get { return enabled; } + get + { + return enabled; + } set { enabled = value; FlushMessagesToMessageWindow(); } } - /// - /// This list contains any messages that could not yet be delivered to the MessageWindow (typically because it doesn't exist - /// yet at startup). They are kept in the backlog and send to the MessageWindow upon the first message arriving while there - /// is a MessageWindow. - /// - protected static IList messageBackLog = new List(); - protected override void Append(LoggingEvent loggingEvent) { - if (messageWindow == null || !Enabled) + if (MessageWindow == null || !Enabled) { messageBackLog.Add(loggingEvent); } @@ -75,28 +61,13 @@ } } - private static void FlushMessagesToMessageWindow() + protected static void AppendToMessageWindow(LoggingEvent loggingEvent) { if (MessageWindow == null) { return; } - if (messageBackLog.Count > 0) - { - foreach (LoggingEvent backLogLoggingEvent in messageBackLog.ToArray()) - AppendToMessageWindow(backLogLoggingEvent); - messageBackLog.Clear(); - } - } - - protected static void AppendToMessageWindow(LoggingEvent loggingEvent) - { - if (messageWindow == null) - { - return; - } - string message = null; if (loggingEvent.MessageObject != null) @@ -123,19 +94,35 @@ if (message == null) { message = GetLocalizedMessage(loggingEvent.RenderedMessage); - } - if(loggingEvent.ExceptionObject != null) + if (loggingEvent.ExceptionObject != null) { message += loggingEvent.ExceptionObject.Message + "\n"; message += Resources.MessageWindowLogAppender_AppendToMessageWindow__Check_log_file_for_more_information__Home__Show_Log__; } - messageWindow.AddMessage(loggingEvent.Level, loggingEvent.TimeStamp, + MessageWindow.AddMessage(loggingEvent.Level, loggingEvent.TimeStamp, loggingEvent.LoggerName, message, loggingEvent.GetExceptionString()); } + private static void FlushMessagesToMessageWindow() + { + if (MessageWindow == null) + { + return; + } + + if (messageBackLog.Count > 0) + { + foreach (LoggingEvent backLogLoggingEvent in messageBackLog.ToArray()) + { + AppendToMessageWindow(backLogLoggingEvent); + } + messageBackLog.Clear(); + } + } + private static string GetLocalizedMessage(string format, object[] args) { try @@ -151,10 +138,9 @@ private static string GetLocalizedMessage(string message) { string localizedMessage = ""; - if (resourceManager != null) + if (ResourceManager != null) { - localizedMessage = resourceManager.GetString(message); - + localizedMessage = ResourceManager.GetString(message); } if (string.IsNullOrEmpty(localizedMessage)) { @@ -166,7 +152,7 @@ private static void WriteMessageToResourceFile(string message) { - if(resourceWriter != null) + if (ResourceWriter != null) { try {