From fd944e110c129407a49a1074f8773f66c21ef3c7 Mon Sep 17 00:00:00 2001 From: StevenLawson Date: Wed, 20 Aug 2014 21:20:01 -0400 Subject: [PATCH] Ignore warnings and errors. This needs work. Suggestion: Make it so it looks for the :[timestamp WARN/ERROR] and sets a bit to flag all subsequent lines as error/warning lines, till the next line that starts with : or matches :[timestamp INFO] --- .../BukkitTelnetClient/BTC_FormatHandler.java | 22 ++++++++++---- .../BukkitTelnetClient/BTC_MainPanel.form | 15 ++++++++-- .../BukkitTelnetClient/BTC_MainPanel.java | 30 +++++++++++++++++-- 3 files changed, 57 insertions(+), 10 deletions(-) diff --git a/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_FormatHandler.java b/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_FormatHandler.java index eff4d93..9a891e5 100644 --- a/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_FormatHandler.java +++ b/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_FormatHandler.java @@ -21,6 +21,10 @@ public class BTC_FormatHandler private static final Pattern ISSUED_SERVER_COMMAND = Pattern.compile("^:\\[.+? INFO\\]: .+? issued server command: "); private static final Pattern PLAYER_COMMAND = Pattern.compile("^:\\[.+? INFO\\]: \\[PLAYER_COMMAND\\] "); + private static final Pattern ERROR_MESSAGE = Pattern.compile("^:\\[.+? (!?(WARN)|(ERROR))\\]: "); + private static final Pattern EXCEPTION_MESSAGE = Pattern.compile("^[^\\[][^\\s]+: "); + private static final Pattern STACK_TRACE = Pattern.compile("^\\t"); + private BTC_FormatHandler() { throw new AssertionError(); @@ -50,30 +54,38 @@ public class BTC_FormatHandler { return true; } + else if (mainPanel.getChkIgnoreErrors().isSelected() && (ERROR_MESSAGE.matcher(line).find() || STACK_TRACE.matcher(line).find() || EXCEPTION_MESSAGE.matcher(line).find())) + { + return true; + } return false; } - public static final Color getColor(String text) + public static final Color getColor(String line) { Color color = Color.BLACK; - if (CHAT_MESSAGE.matcher(text).find() || SAY_MESSAGE.matcher(text).find() || CSAY_MESSAGE.matcher(text).find()) + if (CHAT_MESSAGE.matcher(line).find() || SAY_MESSAGE.matcher(line).find() || CSAY_MESSAGE.matcher(line).find()) { color = Color.BLUE; } - else if (ADMINSAY_MESSAGE.matcher(text).find()) + else if (ADMINSAY_MESSAGE.matcher(line).find()) { color = PURPLE; } - else if (WORLD_EDIT.matcher(text).find()) + else if (WORLD_EDIT.matcher(line).find()) { color = Color.RED; } - else if (PREPROCESS_COMMAND.matcher(text).find()) + else if (PREPROCESS_COMMAND.matcher(line).find()) { color = DARK_GREEN; } + else if (ERROR_MESSAGE.matcher(line).find() || STACK_TRACE.matcher(line).find() || EXCEPTION_MESSAGE.matcher(line).find()) + { + color = Color.LIGHT_GRAY; + } return color; } diff --git a/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_MainPanel.form b/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_MainPanel.form index 3d2b5db..94af43f 100644 --- a/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_MainPanel.form +++ b/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_MainPanel.form @@ -299,8 +299,9 @@ + - + @@ -313,7 +314,9 @@ - + + + @@ -339,6 +342,14 @@ + + + + + + + + diff --git a/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_MainPanel.java b/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_MainPanel.java index 35dd075..b410fbf 100644 --- a/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_MainPanel.java +++ b/src/main/java/me/StevenLawson/BukkitTelnetClient/BTC_MainPanel.java @@ -468,6 +468,7 @@ public class BTC_MainPanel extends javax.swing.JFrame chkIgnorePlayerCommands = new javax.swing.JCheckBox(); chkIgnoreServerCommands = new javax.swing.JCheckBox(); chkShowChatOnly = new javax.swing.JCheckBox(); + chkIgnoreErrors = new javax.swing.JCheckBox(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("BukkitTelnetClient"); @@ -645,6 +646,15 @@ public class BTC_MainPanel extends javax.swing.JFrame } }); + chkIgnoreErrors.setText("Ignore warnings and errors"); + chkIgnoreErrors.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(java.awt.event.ActionEvent evt) + { + chkIgnoreErrorsActionPerformed(evt); + } + }); + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( @@ -654,8 +664,9 @@ public class BTC_MainPanel extends javax.swing.JFrame .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(chkIgnorePlayerCommands) .addComponent(chkIgnoreServerCommands) - .addComponent(chkShowChatOnly)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(chkShowChatOnly) + .addComponent(chkIgnoreErrors)) + .addContainerGap(79, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -666,7 +677,9 @@ public class BTC_MainPanel extends javax.swing.JFrame .addComponent(chkIgnoreServerCommands, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(chkShowChatOnly, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(341, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(chkIgnoreErrors, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(318, Short.MAX_VALUE)) ); jTabbedPane1.addTab("Filters", jPanel1); @@ -741,11 +754,17 @@ public class BTC_MainPanel extends javax.swing.JFrame chkIgnoreServerCommands.setEnabled(enable); }//GEN-LAST:event_chkShowChatOnlyActionPerformed + private void chkIgnoreErrorsActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_chkIgnoreErrorsActionPerformed + {//GEN-HEADEREND:event_chkIgnoreErrorsActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_chkIgnoreErrorsActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnConnect; private javax.swing.JButton btnDisconnect; private javax.swing.JButton btnSend; private javax.swing.JCheckBox chkAutoScroll; + private javax.swing.JCheckBox chkIgnoreErrors; private javax.swing.JCheckBox chkIgnorePlayerCommands; private javax.swing.JCheckBox chkIgnoreServerCommands; private javax.swing.JCheckBox chkShowChatOnly; @@ -813,4 +832,9 @@ public class BTC_MainPanel extends javax.swing.JFrame { return chkShowChatOnly; } + + public JCheckBox getChkIgnoreErrors() + { + return chkIgnoreErrors; + } }