Author: sdeboy
Date: Tue Apr 6 07:42:08 2010
New Revision: 931040
URL: http://svn.apache.org/viewvc?rev=931040&view=rev
Log:
Pressing enter in the search box now initiates a search
Updated Thumbnail rendering logic to display warnings, errors, fatal events and
events with markers more prominently than other events
Updated table.scrollTo logic to keep requested row off the bottom and top of
the range of displayed rows
Modified:
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/JSortTable.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
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/JSortTable.java
URL:
http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/JSortTable.java?rev=931040&r1=931039&r2=931040&view=diff
==============================================================================
---
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/JSortTable.java
(original)
+++
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/JSortTable.java
Tue Apr 6 07:42:08 2010
@@ -99,6 +99,9 @@ public class JSortTable extends JTable i
if ((row > -1) && (row < getRowCount())) {
try {
setRowSelectionInterval(row, row);
+ //get the requested row off of the bottom and top of the screen by
making the 5 rows around the requested row visible
+ scrollRectToVisible(getCellRect(row + 5, col, true));
+ scrollRectToVisible(getCellRect(row - 5, col, true));
scrollRectToVisible(getCellRect(row, col, true));
} catch (IllegalArgumentException iae) {
//ignore..out of bounds
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=931040&r1=931039&r2=931040&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
Tue Apr 6 07:42:08 2010
@@ -125,6 +125,7 @@ import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.text.Document;
+import org.apache.log4j.Level;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
@@ -2226,7 +2227,11 @@ public class LogPanel extends DockablePa
findField.setMinimumSize(findSize);
findPanel.setAlignmentY(Component.CENTER_ALIGNMENT);
findField.setAlignmentY(Component.CENTER_ALIGNMENT);
-
+ findField.addActionListener(new ActionListener(){
+ public void actionPerformed(ActionEvent e) {
+ findNext();
+ }
+ });
findField.addKeyListener(
new ExpressionRuleContext(filterModel, findField));
@@ -3208,6 +3213,7 @@ public class LogPanel extends DockablePa
}
// System.out.println("update - new warnings: " +
warnings.size() + ", errors: " + errors.size());
}
+ invalidate();
repaint();
}
});
@@ -3253,6 +3259,7 @@ public class LogPanel extends DockablePa
all.add(wrapper);
}
}
+ invalidate();
repaint();
}
@@ -3298,14 +3305,44 @@ public class LogPanel extends DockablePa
int componentHeight = height - minHeight;
int eventHeight = minHeight;
+ //draw all non error/warning/marker events
+ for (Iterator iter = all.iterator();iter.hasNext();) {
+ EventWrapper wrapper = (EventWrapper)iter.next();
+ if
(!wrapper.loggingEvent.getColorRuleBackground().equals(ChainsawConstants.COLOR_DEFAULT_BACKGROUND))
{
+ if (wrapper.loggingEvent.getLevel().toInt() <
Level.WARN.toInt() &&
wrapper.loggingEvent.getProperty(ChainsawConstants.LOG4J_MARKER_COL_NAME_LOWERCASE)
== null) {
+ float ratio = (wrapper.rowNum / (float)rowCount);
+ // System.out.println("error - ratio: " + ratio + ",
component height: " + componentHeight);
+ int verticalLocation = (int) (componentHeight * ratio)
+ topOffset;
+
+ int startX = 1;
+ int width = getWidth() - (startX * 2);
+
+
drawEvent(wrapper.loggingEvent.getColorRuleBackground(), verticalLocation,
eventHeight, g, startX, width);
+ // System.out.println("painting error - rownum: " +
wrapper.rowNum + ", location: " + verticalLocation + ", height: " + eventHeight
+ ", component height: " + componentHeight + ", row count: " + rowCount);
+ }
+ }
+ }
+
+ //draw warnings, error, fatal & markers last (full width)
for (Iterator iter = all.iterator();iter.hasNext();) {
EventWrapper wrapper = (EventWrapper)iter.next();
if
(!wrapper.loggingEvent.getColorRuleBackground().equals(ChainsawConstants.COLOR_DEFAULT_BACKGROUND))
{
- float ratio = (wrapper.rowNum / (float)rowCount);
- // System.out.println("error - ratio: " + ratio + ",
component height: " + componentHeight);
- int verticalLocation = (int) (componentHeight * ratio) +
topOffset;
- drawEvent(wrapper.loggingEvent.getColorRuleBackground(),
verticalLocation, eventHeight, g, false);
+ if (wrapper.loggingEvent.getLevel().toInt() >=
Level.WARN.toInt() ||
wrapper.loggingEvent.getProperty(ChainsawConstants.LOG4J_MARKER_COL_NAME_LOWERCASE)
!= null) {
+ float ratio = (wrapper.rowNum / (float)rowCount);
+ // System.out.println("error - ratio: " + ratio + ",
component height: " + componentHeight);
+ int verticalLocation = (int) (componentHeight * ratio)
+ topOffset;
+
+ int startX = 1;
+ int width = getWidth() - (startX * 2);
+ //narrow the color a bit if level is less than warn
+ //make warnings, errors a little taller
+
+ eventHeight = Math.min(maxEventHeight, eventHeight +
3);
+// eventHeight = maxEventHeight;
+
+
drawEvent(wrapper.loggingEvent.getColorRuleBackground(), (verticalLocation -
eventHeight + 1), eventHeight, g, startX, width);
// System.out.println("painting error - rownum: " +
wrapper.rowNum + ", location: " + verticalLocation + ", height: " + eventHeight
+ ", component height: " + componentHeight + ", row count: " + rowCount);
+ }
}
}
@@ -3314,19 +3351,19 @@ public class LogPanel extends DockablePa
float ratio = (wrapper.rowNum / (float)rowCount);
// System.out.println("warning - ratio: " + ratio + ",
component height: " + componentHeight);
int verticalLocation = (int) (componentHeight * ratio) +
topOffset;
- drawEvent(wrapper.loggingEvent.getBackground(),
verticalLocation, eventHeight, g, true);
+
+ int startX = 1;
+ int width = getWidth() - (startX * 2);
+ width = (width / 2);
+
+ drawEvent(wrapper.loggingEvent.getBackground(),
verticalLocation, eventHeight, g, startX, width);
// System.out.println("painting warning - rownum: " +
wrapper.rowNum + ", location: " + verticalLocation + ", height: " + eventHeight
+ ", component height: " + componentHeight + ", row count: " + rowCount);
}
}
- private void drawEvent(Color newColor, int verticalLocation, int
eventHeight, Graphics g, boolean drawHalfWidth) {
+ private void drawEvent(Color newColor, int verticalLocation, int
eventHeight, Graphics g, int x, int width) {
// System.out.println("painting: - color: " + newColor + ",
verticalLocation: " + verticalLocation + ", eventHeight: " + eventHeight);
- int x = 1;
- int width = getWidth() - (x * 2);
- if (drawHalfWidth) {
- width = (width/2);
- }
- //center drawing at vertical location
+ //center drawing at vertical location
int y = verticalLocation + (eventHeight / 2);
Color oldColor = g.getColor();
g.setColor(newColor);
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=931040&r1=931039&r2=931040&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
Tue Apr 6 07:42:08 2010
@@ -10,6 +10,11 @@
<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>6 Apr 2010</h2>
+<ul>
+<li>Pressing enter in the search box now initiates a search.</li>
+<li>Updated thumbnail rendering logic to display warnings, errors, fatal
events and events with markers more prominently than other events.</li>
+</ul>
<h2>3 Apr 2010</h2>
<ul>
<li>