Exemplo n.º 1
0
        /// <summary>
        /// Logs the <paramref name="message"/>
        /// </summary>
        /// <param name="from">From what class message comes</param>
        /// <param name="message">Message, that should be displayed.</param>
        public void Log(string from, string message)
        {
            if (Verbosity.Equals(LoggerVerbosity.Quiet))
            {
                return;
            }

            if (sW != null)
            {
                if (this.Debug)
                {
                    this.LogFilename.WriteLine("[{0}] {1}: {2}", DateTime.Now.ToString(), from, message);
                }
            }

            if (wnd != null)
            {
                if (this.Debug)
                {
                    if (Count < bufferLines.Length)
                    {
                        bufferLines[Count++] = "[" + DateTime.Now.ToString() + "] : " + from + ": " + message;
                    }
                    else
                    {
                        for (int i = 0; i < bufferLines.Length; i++)
                        {
                            args.buffer[i] = bufferLines[i];
                        }


                        IAsyncResult result = wnd.BeginInvoke(wnd.writeTowindow, new object[] { args.buffer });
                        Count = 0;
                        bufferLines[Count++] = "[" + DateTime.Now.ToString() + "] : " + from + ": " + message;
                        wnd.EndInvoke(result);
                        result.AsyncWaitHandle.Close();
                    }
                }
            }
        }