You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@logging.apache.org by sd...@apache.org on 2010/03/21 00:58:37 UTC
svn commit: r925702 - in /logging/chainsaw/trunk/src/main:
java/org/apache/log4j/chainsaw/ java/org/apache/log4j/chainsaw/color/
resources/org/apache/log4j/chainsaw/
resources/org/apache/log4j/chainsaw/help/
Author: sdeboy
Date: Sat Mar 20 23:58:36 2010
New Revision: 925702
URL: http://svn.apache.org/viewvc?rev=925702&view=rev
Log:
Chainsaw enhancements
- New color rule: any row with a value in the 'log4j.marker' field will display as light green
- Added keyboard mnemonics to search field (alt-j) and refine focus field (alt-k), added shortcuts to Welcome page
- Fixed some minor layout glitches
- updated release notes
Modified:
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/color/RuleColorizer.java
logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html
logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java?rev=925702&r1=925701&r2=925702&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java Sat Mar 20 23:58:36 2010
@@ -20,6 +20,7 @@ package org.apache.log4j.chainsaw;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
+import java.awt.Font;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -35,6 +36,7 @@ import java.util.List;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.Box;
+import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
@@ -147,18 +149,20 @@ class ChainsawToolBarAndMenus implements
showReceiversButton = new SmallToggleButton(showReceiversAction);
findPanel = new JPanel();
+ findPanel.setLayout(new BoxLayout(findPanel, BoxLayout.X_AXIS));
- Dimension findSize = new Dimension(170, 22);
- Dimension findPanelSize = new Dimension(175, 30);
+ Dimension findSize = new Dimension(260, 22);
+ Dimension findPanelSize = new Dimension(310, 30);
findPanel.setPreferredSize(findPanelSize);
findPanel.setMaximumSize(findPanelSize);
findPanel.setMinimumSize(findPanelSize);
+
findField.setPreferredSize(findSize);
findField.setMaximumSize(findSize);
findField.setMinimumSize(findSize);
findPanel.setAlignmentY(Component.CENTER_ALIGNMENT);
findField.setAlignmentY(Component.CENTER_ALIGNMENT);
-
+
toggleDetailPaneAction = createToggleDetailPaneAction();
createMenuBar();
createToolbar();
@@ -822,9 +826,18 @@ class ChainsawToolBarAndMenus implements
(KeyStroke) findPreviousAction.getValue(Action.ACCELERATOR_KEY),
findPreviousAction.getValue(Action.NAME));
+ JLabel searchLabel = new JLabel("Search:");
+ searchLabel.setDisplayedMnemonic('j');
+ searchLabel.setFont(searchLabel.getFont().deriveFont(Font.BOLD));
+ findPanel.add(searchLabel);
+ findPanel.add(Box.createHorizontalStrut(3));
findPanel.add(findField);
+ findPanel.add(Box.createRigidArea(new Dimension(5, 0)));
+ searchLabel.setLabelFor(findField);
+
toolbar.add(findPanel);
+ toolbar.addSeparator(new Dimension(7, 5));
toolbar.add(findNextButton);
toolbar.add(findPreviousButton);
@@ -887,7 +900,15 @@ class ChainsawToolBarAndMenus implements
activateLogPanelActions = false;
findField.setEnabled(false);
findPanel.removeAll();
+ JLabel searchLabel = new JLabel("Search:");
+ searchLabel.setDisplayedMnemonic('j');
+ searchLabel.setFont(searchLabel.getFont().deriveFont(Font.BOLD));
+ findPanel.add(searchLabel);
+ findPanel.add(Box.createHorizontalStrut(3));
+
findPanel.add(findField);
+ findPanel.add(Box.createRigidArea(new Dimension(5, 0)));
+ searchLabel.setLabelFor(findField);
activeTabMenu.setEnabled(false);
closeAction.setEnabled(true);
detailPaneButton.setSelected(false);
@@ -896,7 +917,15 @@ class ChainsawToolBarAndMenus implements
activeTabMenu.setEnabled(true);
fileMenu.getFileSaveAction().setEnabled(true);
findPanel.removeAll();
+ JLabel searchLabel = new JLabel("Search:");
+ searchLabel.setDisplayedMnemonic('j');
+
+ searchLabel.setFont(searchLabel.getFont().deriveFont(Font.BOLD));
+ findPanel.add(searchLabel);
+ findPanel.add(Box.createHorizontalStrut(3));
findPanel.add(logPanel.getFindTextField());
+ findPanel.add(Box.createRigidArea(new Dimension(5, 0)));
+ searchLabel.setLabelFor(logPanel.getFindTextField());
pauseButton.getModel().setSelected(logPanel.isPaused());
toggleCyclicButton.setSelected(logPanel.isCyclic());
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java?rev=925702&r1=925701&r2=925702&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java Sat Mar 20 23:58:36 2010
@@ -263,6 +263,11 @@ public class LogPanel extends DockablePa
setLayout(new BorderLayout());
findPanel = new JPanel();
+ findPanel.setLayout(new BoxLayout(findPanel, BoxLayout.X_AXIS));
+ Dimension findPanelSize = new Dimension(310, 30);
+ findPanel.setPreferredSize(findPanelSize);
+ findPanel.setMaximumSize(findPanelSize);
+ findPanel.setMinimumSize(findPanelSize);
final Map columnNameKeywordMap = new HashMap();
columnNameKeywordMap.put(
@@ -939,9 +944,13 @@ public class LogPanel extends DockablePa
final JLabel filterLabel = new JLabel("Refine focus on: ");
filterLabel.setFont(filterLabel.getFont().deriveFont(Font.BOLD));
+ filterLabel.setDisplayedMnemonic('k');
+
+ JPanel upperLeftPanel = new JPanel();
+ upperLeftPanel.setLayout(new BoxLayout(upperLeftPanel, BoxLayout.X_AXIS));
+ upperLeftPanel.setAlignmentY(Component.CENTER_ALIGNMENT);
+ upperLeftPanel.setAlignmentY(Component.CENTER_ALIGNMENT);
- JPanel upperLeftPanel =
- new JPanel(new FlowLayout(FlowLayout.CENTER, 3, 0));
upperLeftPanel.add(filterLabel);
//hold a reference to the combobox model so that we can check to prevent duplicates
@@ -993,6 +1002,7 @@ public class LogPanel extends DockablePa
}
});
upperPanel.add(filterCombo, BorderLayout.CENTER);
+ filterLabel.setLabelFor(filterCombo);
} else {
filterText = new JTextField();
filterText.setToolTipText("Enter an expression");
@@ -1862,7 +1872,17 @@ public class LogPanel extends DockablePa
setDocked(false);
externalPanel.removeAll();
findPanel.removeAll();
+
+ JLabel searchLabel = new JLabel("Search:");
+ searchLabel.setDisplayedMnemonic('j');
+
+ searchLabel.setFont(searchLabel.getFont().deriveFont(Font.BOLD));
+ findPanel.add(searchLabel);
+ findPanel.add(Box.createHorizontalStrut(3));
+
findPanel.add(findField);
+ findPanel.add(Box.createRigidArea(new Dimension(5, 0)));
+ searchLabel.setLabelFor(findField);
externalPanel.add(undockedToolbar, BorderLayout.NORTH);
externalPanel.add(nameTreeAndMainPanelSplit, BorderLayout.CENTER);
@@ -2163,6 +2183,13 @@ public class LogPanel extends DockablePa
toolbar.addSeparator();
findField = new JTextField();
+ Dimension findSize = new Dimension(260, 22);
+ findField.setPreferredSize(findSize);
+ findField.setMaximumSize(findSize);
+ findField.setMinimumSize(findSize);
+ findPanel.setAlignmentY(Component.CENTER_ALIGNMENT);
+ findField.setAlignmentY(Component.CENTER_ALIGNMENT);
+
findField.addKeyListener(
new ExpressionRuleContext(filterModel, findField));
@@ -2218,8 +2245,7 @@ public class LogPanel extends DockablePa
KeyStroke.getKeyStroke(KeyEvent.VK_F3, InputEvent.SHIFT_MASK),
undockedFindPreviousAction.getValue(Action.NAME));
- Dimension findSize = new Dimension(170, 22);
- Dimension findPanelSize = new Dimension(175, 30);
+ Dimension findPanelSize = new Dimension(310, 30);
findPanel.setPreferredSize(findPanelSize);
findPanel.setMaximumSize(findPanelSize);
findPanel.setMinimumSize(findPanelSize);
@@ -2230,6 +2256,8 @@ public class LogPanel extends DockablePa
findField.setAlignmentY(Component.CENTER_ALIGNMENT);
toolbar.add(findPanel);
+ toolbar.addSeparator(new Dimension(7, 5));
+
toolbar.add(undockedFindNextButton);
toolbar.add(undockedFindPreviousButton);
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/color/RuleColorizer.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/color/RuleColorizer.java?rev=925702&r1=925701&r2=925702&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/color/RuleColorizer.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/color/RuleColorizer.java Sat Mar 20 23:58:36 2010
@@ -65,6 +65,13 @@ public class RuleColorizer implements Co
new ColorRule(
expression, ExpressionRule.getRule(expression), new Color(255, 255, 153),
Color.black));
+
+ expression = "prop.log4j.marker exists";
+ rulesList.add(
+ new ColorRule(
+ expression, ExpressionRule.getRule(expression), new Color(153, 255, 153),
+ Color.black));
+
defaultRules.put(DEFAULT_NAME, rulesList);
setRules(defaultRules);
}
Modified: logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html?rev=925702&r1=925701&r2=925702&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html (original)
+++ logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/WelcomePanel.html Sat Mar 20 23:58:36 2010
@@ -44,6 +44,30 @@
<td>Scroll to bottom</td>
</tr>
<tr valign="top" bgcolor="#EEEEEE">
+ <td nowrap class="HotKey">Ctrl-F2 (or double-click on a row)</td>
+ <td width="50" align="center">-</td>
+ <td colspan="1">Define a 'marker' (add a note to a row)</td>
+ <td nowrap class="HotKey">F2</td>
+ <td width="50" align="center">-</td>
+ <td colspan="1">Find next marker</td>
+</tr>
+<tr valign="top" bgcolor="#EEEEEE">
+ <td nowrap class="HotKey">Shift-F2</td>
+ <td width="50" align="center">-</td>
+ <td colspan="1">Find previous marker</td>
+ <td nowrap class="HotKey">Ctrl-shift-F2</td>
+ <td width="50" align="center">-</td>
+ <td colspan="1">Clear all markers</td>
+</tr>
+<tr valign="top">
+ <td nowrap class="HotKey">ALT-J</td>
+ <td width="50" align="center">-</td>
+ <td>Set focus in 'search' field</td>
+ <td nowrap class="HotKey">ALT-K</td>
+ <td width="50" align="center">-</td>
+ <td>Set focus in 'refine focus' field</td>
+</tr>
+<tr valign="top" bgcolor="#EEEEEE">
<td nowrap class="HotKey">CTRL-RIGHT</td>
<td width="50" align="center">-</td>
<td>Activate a tab to the right</td>
@@ -96,22 +120,6 @@
<td width="50" align="center">-</td>
<td colspan="1">Go to line</td>
</tr>
- <tr valign="top" bgcolor="#EEEEEE">
- <td nowrap class="HotKey">Ctrl-F2 (or double-click on a row)</td>
- <td width="50" align="center">-</td>
- <td colspan="1">Define a 'marker' (add a note to a row)</td>
- <td nowrap class="HotKey">F2</td>
- <td width="50" align="center">-</td>
- <td colspan="1">Find next marker</td>
- </tr>
- <tr valign="top" bgcolor="#EEEEEE">
- <td nowrap class="HotKey">Shift-F2</td>
- <td width="50" align="center">-</td>
- <td colspan="1">Find previous marker</td>
- <td nowrap class="HotKey">Ctrl-shift-F2</td>
- <td width="50" align="center">-</td>
- <td colspan="1">Clear all markers</td>
- </tr>
</table></P>
<!--<p><a href="#TheTop">Back to top</a></p>-->
<a name="Receivers"></a>
Modified: logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html?rev=925702&r1=925701&r2=925702&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html (original)
+++ logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html Sat Mar 20 23:58:36 2010
@@ -10,6 +10,14 @@
<b>NOTE:</b> The mechanism and format used to persist settings in Chainsaw is subject to change. If you are experiencing problems displaying events in Chainsaw, please delete everything in the $user.dir/.chainsaw directory and restart Chainsaw.
<br>
<h1>1.99.99</h1>
+<h2>20 Mar 2010</h2>
+<ul>
+<li>
+New color rule: any row with a value in the 'log4j.marker' field will display as light green
+</li>
+<li>
+Added keyboard mnemonics to search field (alt-j) and refine focus field (alt-k), added shortcuts to Welcome page</li>
+</ul>
<h2>16 Mar 2010</h2>
<ul>
<li>