Inheritance: IDisposable
コード例 #1
0
ファイル: Logger.cs プロジェクト: kallell/YetAnotherRelogger
        private void addToRTB(LogMessage message)
        {
            if (Program.Mainform == null || Program.Mainform.richTextBox1 == null)
                return;

            try
            {
                Program.Mainform.Invoke(new Action(() =>
                {
                    RichTextBox rtb = Program.Mainform.richTextBox1;
                    var font = new Font("Tahoma", 8, FontStyle.Regular);
                    rtb.SelectionFont = font;
                    rtb.SelectionColor = message.Color;
                    string text = string.Format("{0} [{1}] {2}", LoglevelChar(message.Loglevel), message.TimeStamp,
                        message.Message);
                    rtb.AppendText(text + Environment.NewLine);
                }));
            }
            catch
            {
                // Failed! do nothing
            }
        }
コード例 #2
0
ファイル: Logger.cs プロジェクト: kallell/YetAnotherRelogger
 /// <summary>
 ///     Add custom log message to log buffer
 /// </summary>
 /// <param name="message">Logmessage</param>
 public void AddLogmessage(LogMessage message)
 {
     instance.AddBuffer(message);
     addToRTB(message);
 }
コード例 #3
0
ファイル: Logger.cs プロジェクト: kallell/YetAnotherRelogger
 /// <summary>
 ///     Write global log message
 /// </summary>
 /// <param name="format"></param>
 /// <param name="args"></param>
 public void WriteGlobal(string format, params object[] args)
 {
     var message = new LogMessage {Message = string.Format("{0}", string.Format(format, args))};
     instance.AddBuffer(message);
     addToRTB(message);
 }
コード例 #4
0
ファイル: Logger.cs プロジェクト: kallell/YetAnotherRelogger
 private void AddBuffer(LogMessage logmessage)
 {
     Buffer.Add(logmessage);
     if (Buffer.Count > 3)
         ClearBuffer();
 }
コード例 #5
0
ファイル: Logger.cs プロジェクト: kallell/YetAnotherRelogger
 /// <summary>
 ///     Write Log message for specific bot
 /// </summary>
 /// <param name="bot">BotClass</param>
 /// <param name="format"></param>
 /// <param name="args"></param>
 public void Write(BotClass bot, string format, params object[] args)
 {
     if (bot == null)
     {
         WriteGlobal(format, args);
         return;
     }
     var message = new LogMessage {Message = string.Format("<{0}> {1}", bot.Name, string.Format(format, args))};
     instance.AddBuffer(message);
     addToRTB(message);
 }
コード例 #6
0
ファイル: Logger.cs プロジェクト: kallell/YetAnotherRelogger
 /// <summary>
 ///     Write log message for active bot
 /// </summary>
 /// <param name="format"></param>
 /// <param name="args"></param>
 public void Write(string format, params object[] args)
 {
     var message = new LogMessage();
     if (Relogger.Instance.CurrentBot != null)
         message.Message = string.Format("<{0}> {1}", Relogger.Instance.CurrentBot.Name,
             string.Format(format, args));
     else
         message.Message = string.Format("[{0}] {1}", DateTime.Now, string.Format(format, args));
     instance.AddBuffer(message);
     addToRTB(message);
 }
コード例 #7
0
ファイル: Logger.cs プロジェクト: jnnpsubm/YAR-Auth
        private void addToRTB(LogMessage message)
        {
            if (Program.Mainform == null || Program.Mainform.richTextBox1 == null)
                return;

            try
            {
                if (Program.Mainform.InvokeRequired && !Program.Mainform.IsDisposed)
                {
                    Program.Mainform.Invoke(new Action(() =>
                       {
                           RichTextBox rtb = Program.Mainform.richTextBox1;
                           //var font = new Font("Tahoma", 8, FontStyle.Regular);
                           //rtb.SelectionFont = font;
                           //rtb.SelectionColor = message.Color;
                           string text = string.Format("{0} [{1}] {2}", LoglevelChar(message.Loglevel), message.TimeStamp,
                               message.Message);
                           rtb.AppendText(text + Environment.NewLine);
                       }));
                }
            }
            catch (Exception ex)
            {
                Logger.Instance.Write("Exception in addToRTB: {0}", ex);
                // Failed! do nothing
            }
        }
コード例 #8
0
 /// <summary>
 ///     Add custom log message to log buffer
 /// </summary>
 /// <param name="message">Logmessage</param>
 public void AddLogmessage(LogMessage message)
 {
     _instance.AddBuffer(message);
     AddToRtb(message);
 }
コード例 #9
0
 private void AddBuffer(LogMessage logmessage)
 {
     lock (BufferLock)
     {
         _buffer.Add(logmessage);
         if (_buffer.Count > 3)
             ClearBuffer();
     }
 }