Inheritance: EventArgs
Beispiel #1
0
        static void OnLogged(object sender, LogEventArgs e)
        {
            if (!e.WriteToConsole) return;
            switch (e.MessageType)
            {
                case LogType.Error:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Error.WriteLine(e.Message);
                    Console.ResetColor();
                    return;

                case LogType.SeriousError:
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.BackgroundColor = ConsoleColor.Red;
                    Console.Error.WriteLine(e.Message);
                    Console.ResetColor();
                    return;

                case LogType.Warning:
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine(e.Message);
                    Console.ResetColor();
                    return;

                case LogType.Debug:
                    Console.ForegroundColor = ConsoleColor.DarkGray;
                    Console.WriteLine(e.Message);
                    Console.ResetColor();
                    return;

                default:
                    Console.WriteLine(e.Message);
                    return;
            }
        }
Beispiel #2
0
 void HandleLog( object sender, LogEventArgs e ) {
     for( int i = 0; i < thingsToLog.Length; i++ ) {
         if( thingsToLog[i] == e.MessageType ) {
             HasMessages = true;
             lock( locker ) {
                 messages.Add( e.MessageType + ": " + e.RawMessage );
             }
         }
     }
 }
Beispiel #3
0
 public void OnLogged( object sender, LogEventArgs e )
 {
     if( !e.WriteToConsole ) return;
     try {
         if( shutdownComplete ) return;
         if( logBox.InvokeRequired ) {
             BeginInvoke( (EventHandler<LogEventArgs>)OnLogged, sender, e );
         } else {
             Log( e.Message );
         }
     } catch( ObjectDisposedException ) {
     } catch( InvalidOperationException ) { }
 }
Beispiel #4
0
 void HandleLog( object sender, LogEventArgs e ) {
     if( creatingThread != null && creatingThread != Thread.CurrentThread ) return;
     for( int i = 0; i < thingsToLog.Length; i++ ) {
         if( thingsToLog[i] != e.MessageType ) continue;
         switch( e.MessageType ) {
             case LogType.SeriousError:
             case LogType.Error:
                 HasErrors = true;
                 break;
             case LogType.Warning:
                 HasWarnings = true;
                 break;
         }
         HasMessages = true;
         lock( locker ) {
             messages.Add( e.MessageType + ": " + e.RawMessage );
         }
     }
 }
Beispiel #5
0
 public void OnLogged( object sender, LogEventArgs e )
 {
     if( !e.WriteToConsole ) return;
     try {
         if( shutdownComplete ) return;
         if( logBox.InvokeRequired ) {
             BeginInvoke( (EventHandler<LogEventArgs>)OnLogged, sender, e );
         } else {
             logBox.AppendText( e.Message + Environment.NewLine );
             if( logBox.Lines.Length > MaxLinesInLog ) {
                 logBox.Text = "----- cut off, see 800Craft.log for complete log -----" +
                     Environment.NewLine +
                     logBox.Text.Substring( logBox.GetFirstCharIndexFromLine( 50 ) );
             }
             logBox.SelectionStart = logBox.Text.Length;
             logBox.ScrollToCaret();
             if( !Server.IsRunning || shutdownPending ) logBox.Refresh();
         }
     } catch( ObjectDisposedException ) {
     } catch( InvalidOperationException ) { }
 }
Beispiel #6
0
        public void OnLogged(object sender, LogEventArgs e)
        {
            if (!e.WriteToConsole) return;
            try
            {
                if (shutdownComplete) return;
                if (logBox.InvokeRequired)
                {
                    BeginInvoke((EventHandler<LogEventArgs>)OnLogged, sender, e);
                }
                else
                {
                    // store user's selection
                    int userSelectionStart = logBox.SelectionStart;
                    int userSelectionLength = logBox.SelectionLength;
                    bool userSelecting = (logBox.SelectionStart != logBox.Text.Length && logBox.Focused ||
                                          logBox.SelectionLength > 0);

                    // insert and color a new message
                    int oldLength = logBox.Text.Length;
                    string msgToAppend = e.Message + Environment.NewLine;
                    logBox.AppendText(msgToAppend);
                    logBox.Select(oldLength, msgToAppend.Length);
                    switch (e.MessageType)
                    {
                        case LogType.PrivateChat:
                            logBox.SelectionColor = System.Drawing.Color.Teal;
                            break;
                        case LogType.IRC:
                            if (ThemeBox.SelectedItem == null)
                            {
                                logBox.SelectionColor = System.Drawing.Color.Navy;
                            }
                            else
                            {
                                switch (ThemeBox.SelectedItem.ToString())
                                {
                                    default:
                                        logBox.SelectionColor = System.Drawing.Color.LightSkyBlue;
                                        break;
                                    case "New LegendCraft":
                                        logBox.SelectionColor = System.Drawing.Color.Navy;
                                        break;
                                }
                            }
                            break;
                        case LogType.ChangedWorld:
                            logBox.SelectionColor = System.Drawing.Color.Orange;
                            break;
                        case LogType.Warning:
                            if (ThemeBox.SelectedItem == null)
                            {
                                logBox.SelectionColor = System.Drawing.Color.Yellow;
                            }
                            else
                            {
                                switch (ThemeBox.SelectedItem.ToString())
                                {
                                    default:
                                        logBox.SelectionColor = System.Drawing.Color.MediumOrchid;
                                        break;
                                    case "New LegendCraft":
                                        logBox.SelectionColor = System.Drawing.Color.Yellow;
                                        break;
                                }
                            }
                            break;
                        case LogType.Debug:
                            logBox.SelectionColor = System.Drawing.Color.DarkGray;
                            break;
                        case LogType.Error:
                        case LogType.SeriousError:
                            logBox.SelectionColor = System.Drawing.Color.Red;
                            break;
                        case LogType.ConsoleInput:
                        case LogType.ConsoleOutput:
                            if (ThemeBox.SelectedItem == null)
                            {
                                logBox.SelectionColor = System.Drawing.Color.White;
                            }
                            else
                            {
                                switch (ThemeBox.SelectedItem.ToString())
                                {
                                    default:
                                        logBox.SelectionColor = System.Drawing.Color.Black;
                                        break;
                                    case "New LegendCraft":
                                        logBox.SelectionColor = System.Drawing.Color.White;
                                        break;
                                }
                            }
                            break;
                        default:
                            if (ThemeBox.SelectedItem == null)
                            {
                                logBox.SelectionColor = System.Drawing.Color.LightGray;
                            }
                            else
                            {
                                switch (ThemeBox.SelectedItem.ToString())
                                {
                                    default:
                                        logBox.SelectionColor = System.Drawing.Color.Black;
                                        break;
                                    case "New LegendCraft":
                                        logBox.SelectionColor = System.Drawing.Color.LightGray;
                                        break;
                                }
                            }
                            break;
                    }

                    // cut off the log, if too long
                    if (logBox.Lines.Length > MaxLinesInLog)
                    {
                        logBox.SelectionStart = 0;
                        logBox.SelectionLength = logBox.GetFirstCharIndexFromLine(LinesToTrimWhenExceeded);
                        userSelectionStart -= logBox.SelectionLength;
                        if (userSelectionStart < 0) userSelecting = false;
                        string textToAdd = "----- cut off, see " + Logger.CurrentLogFileName + " for complete log -----" + Environment.NewLine;
                        logBox.SelectedText = textToAdd;
                        userSelectionStart += textToAdd.Length;
                        logBox.SelectionColor = System.Drawing.Color.DarkGray;
                    }

                    // either restore user's selection, or scroll to end
                    if (userSelecting)
                    {
                        logBox.Select(userSelectionStart, userSelectionLength);
                    }
                    else
                    {
                        logBox.SelectionStart = logBox.Text.Length;
                        logBox.ScrollToCaret();
                    }
                }
            }
            catch (ObjectDisposedException)
            {
            }
            catch (InvalidOperationException) { }
        }
Beispiel #7
0
 static void OnLogged( object sender, LogEventArgs e ) {
     switch( e.MessageType ) {
         case LogType.Error:
         case LogType.SeriousError:
         case LogType.Warning:
             Console.Error.WriteLine( e.MessageType );
             return;
         default:
             Console.WriteLine( e.Message );
             return;
     }
 }
Beispiel #8
0
        void OnLogged( object sender, LogEventArgs e ) {
            if( !e.WriteToConsole ) return;
            try {
                if( shutdownComplete ) return;
                if( InvokeRequired ) {
                    BeginInvoke( (EventHandler<LogEventArgs>)OnLogged, sender, e );
                } else {
                    // store user's selection
                    int userSelectionStart = logBox.SelectionStart;
                    int userSelectionLength = logBox.SelectionLength;
                    bool userSelecting = (logBox.SelectionStart != logBox.Text.Length && logBox.Focused ||
                                          logBox.SelectionLength > 0);

                    // insert and color a new message
                    int oldLength = logBox.Text.Length;
                    char initialcolor = 'f';
                    switch( e.MessageType ) {
                        case LogType.Warning:
                            initialcolor = 'e';
                            break;
                        case LogType.Debug:
                            initialcolor = '8';
                            break;
                        case LogType.Error:
                        case LogType.SeriousError:
                            initialcolor = 'c';
                            break;
                        case LogType.ConsoleInput:
                        case LogType.ConsoleOutput:
                            initialcolor = 'f';
                            break;
                        default:
                            initialcolor = '7';
                            break;
                    }
                    foreach (string msgToAppend in Color.LogColors(e.Message, initialcolor)) {
                        logBox.AppendText(msgToAppend.Remove(0, 2));
                        logBox.Select(oldLength, msgToAppend.Length - 2);
                        switch (msgToAppend.ToLower()[1]) {
                            case '1':
                            case '2':
                            case '3':
                            case '4':
                            case '5':
                            case '6':
                            case '7':
                            case '8':
                            case '9':
                            case 'a':
                            case 'b':
                            case 'c':
                            case 'd':
                            case 'e':
                            case 's':
                            case 'y':
                            case 'p':
                            case 'r':
                            case 'h':
                            case 'w':
                            case 'm':
                            case 'i':
                                logBox.SelectionColor = System.Drawing.Color.FromName( Color.GetName( msgToAppend.ToLower()[1] ) );
                                break;
                            case '0':
                                logBox.SelectionColor = System.Drawing.Color.FromArgb(64, 64, 64);
                                break;
                            default:
                                logBox.SelectionColor = System.Drawing.Color.White;
                                break;
                        }
                        oldLength = logBox.Text.Length;
                    }
                    logBox.AppendText(Environment.NewLine);

                    // cut off the log, if too long
                    if( logBox.Lines.Length > MaxLinesInLog ) {
                        logBox.SelectionStart = 0;
                        logBox.SelectionLength = logBox.GetFirstCharIndexFromLine( LinesToTrimWhenExceeded );
                        userSelectionStart -= logBox.SelectionLength;
                        if( userSelectionStart < 0 ) userSelecting = false;
                        string textToAdd = "&3----- cut off, see " + Logger.CurrentLogFileName + " for complete log -----" + Environment.NewLine;
                        logBox.SelectedText = textToAdd;
                        userSelectionStart += textToAdd.Length;
                        logBox.SelectionColor = System.Drawing.Color.DarkGray;
                    }

                    // either restore user's selection, or scroll to end
                    if( userSelecting ) {
                        logBox.Select( userSelectionStart, userSelectionLength );
                    } else {
                        logBox.SelectionStart = logBox.Text.Length;
                        logBox.ScrollToCaret();
                    }
                }
            } catch( ObjectDisposedException ) {
            } catch( InvalidOperationException ) { }
        }