Great feedback Olli! Thanks - exactly what we are looking for. Thought I'd let you know where some of this is at/fill in blanks for you.
I'll work on the timestamp and NPE things first, then find/find next/scroll. 2. It's been broke for a while. When it was working, it did disable scroll to bottom, so that should work as well. 3. Find will scroll to the event as well. 4. Refine focus on is very powerful and yes, you're right, the docs are non-existent except the javadoc for the ExpressionRule and FieldResolver classes (we'll improve it). For now, see http://cvs.apache.org/viewcvs.cgi/logging-log4j/src/java/org/apache/log4j/rule/ExpressionRule.java?rev=1.1&view=auto and http://cvs.apache.org/viewcvs.cgi/logging-log4j/src/java/org/apache/log4j/spi/LoggingEventFieldResolver.java?rev=1.1&view=auto also, see http://cvs.apache.org/viewcvs.cgi/logging-log4j/src/java/org/apache/log4j/rule/InFixToPostFix.java?rev=1.1&view=auto for a description of the operators supported by postfix expressions. (NOTE everything needs separated by a space since I'm using a stringtokenizer and didn't write a scanner). 9. The tab identifier fields are the same as defined in the fieldresolver class - every unique match it finds for any loaded events will create a new tab. 14. The problem with the context menu is that the 'focus on' and 'add to focus' build the focus expression based on what's under the mouse, so you can't do that from a top level menu. 15. Great idea. Once find is working, I'll try and tackle that one. 16. I'll add this as well, probabably while I'm fixing find. 17. Right now, you have to specify CHAINSAW_CAPACITY as a system property when you run the app (-DCHAINSAW_CAPACITY=50000). I'll add that as a system pref (requires restart) 21. BUG! 22. Will add. 24. Using the sharedinstance now. Will look into this. 25. Good idea. 27. NPEs...ug. 29. Pause on the toolbar allows the events to be appended all the way in but drops them on the floor when they show up at the individual panel. Pause on the receiver prevents them from being processed at all by the app. Great stuff! Hope the info helps. Scott -----Original Message----- From: Olli Blackburn [mailto:[EMAIL PROTECTED] Sent: Wed 1/7/2004 3:22 PM To: Log4J Users List Cc: Subject: RE: Where has LogFactor5 gone? As you asked ;-) 1) When changing the props of a receiver you have to change focus to another prop to action the change. This is particularly odd when changing the threshold. On text fields (such as socket port) pressing enter should action the change. 2) I can't get find next to work. Try searching for 209 in the tutorial generator 1. It doesn't move beyond the first message with 209 in the Message field. 3) Find should scroll the events panel to the event found. 4) The docs for what you can do in the Refine Focus On field need writing - I suspect this is a very powerful aspect of chainsaw if only I knew the secret. 5) the Pause button on the toolbar should change to a Play icon when you pause. Likewise, the play and pause icons in the receivers panel should be a single icon that changes from play to pause depending on context. 6) I created a new XMLSocketReceiver. I entered foo for the name and 44440 for the port. I left the input focus in the port field and clicked ok. The receiver was created with a port of 0. 7) It took me a long time to work out the what the panel below the logger tree represented - it's the exclude list. I'd suggest putting a title on it. Also, it takes a double click to remove an entry from it. I'd suggest a single click to clear the check box (and stop it being used for exclusion filtering), and a right click->remove menu to remove it from the list completely. 8) Double clicking on a column heading right hand boundary should widen that column to the width of the widest value in the column. 9) The (I presume) power of the Tab Identifier expression needs to be documented. 10) In the Log Panel Preferences - Column dialog you have to double click to check/uncheck the column selections - it should be a single click action. 11) Clicking the Show/Hide Details Pane toolbar button hides the details pane. Clicking it again restores the pane, kinda. It returns minimized at the bottom and you need to resize it in order to see any details. 12) Are they Panes or Panels - both terms are used across the tool tips and tutorial - you should standardize on one. 13) The file menu has 4 actions for ctrl+O - it can clearly only be one of them. 14) The Current Tab menu ends with "Other options...." indicating there are some tasks that can only be accomplished from the right-click menu. All tasks should be available directly from the main menus without needing to use right-click. 15) I'd like to be able to specify default event pane columns for all new tabs on an application wide basis. This would save me needing to individually customize every tab. 16) Clicking on an event shows its details, but focus is almost instantly removed and placed on the latest event to arrive. This is very off-putting when you're trying to read what happened. If I explicitly select an event (by clicking or find) focus should remain on that event until I select another event. I think this just requires Find and click-select to turn off "scroll to bottom". I can then simply select "Scroll to bottom" to get back to the default mode. Perhaps a "selected" event should be highlighted in blue as now, but in scroll-to-bottom mode the last event should be outlined in a dotted blue box to distinguish it from the selected state (c.f. Windows Explorer). 17) How do I configure the cycle size? 18) Clicking on a logger in the tree should focus on it. Having to enable the "focus on" mode is an unnecessary additional step. 19) There's no way to change the width of the receivers pane. More specifically, I wanted to widen the events pane and had to widen the entire chainsaw window instead of making the events pane wider and the receivers narrower. 20) I don't know what the information in the status bar is telling me. 21) I have valid timestamps in the events pane (dated 2004-01-06) but when I select an event the date in the details pane is wrong (2004-50-06). The time is ok, it's just the month that's wrong. I see this in the tutorial generator 1 and my own logs. 22) As you type in the find field the first matching event is automatically selected as you continue to complete the search string. If you backspace it doesn't unwind back to the first matching event following the current selection. 23) The substitutable values for the pattern editor should be documented. 24) The tool tip time for the events should be tunable separately from the time for button tool tips - the events are long and take longer to read so I'd typically like the event tool tip to remain displayed for longer (perhaps indefinitely until the mouse moved would be a good option too). 25) I'd like to be able to reorder the tabs by dragging them into an order that works for me. 26) There is a lot of debug chat in the console window that starts chainsaw, and in ChainsawCentral. 27) I've had two NPEs: java.lang.NullPointerException at javax.swing.ImageIcon.<init>(ImageIcon.java:161) at javax.swing.ImageIcon.<init>(ImageIcon.java:147) at com.sun.java.swing.plaf.windows.WindowsFileChooserUI$ShortCutPanel.<init >(WindowsFileChooserUI.java:603) at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.installComponents(W indowsFileChooserUI.java:361) at javax.swing.plaf.basic.BasicFileChooserUI.installUI(BasicFileChooserUI.j ava:130) at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.installUI(WindowsFi leChooserUI.java:176) at javax.swing.JComponent.setUI(JComponent.java:449) at javax.swing.JFileChooser.updateUI(JFileChooser.java:1701) at javax.swing.JFileChooser.setup(JFileChooser.java:345) at javax.swing.JFileChooser.<init>(JFileChooser.java:320) at javax.swing.JFileChooser.<init>(JFileChooser.java:273) at org.apache.log4j.chainsaw.FileLoadAction.actionPerformed(Unknown Source) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractB utton.java:1839) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.ja va:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.AbstractButton.doClick(AbstractButton.java:289) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113 ) at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(B asicMenuItemUI.java:943) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231) at java.awt.Component.processMouseEvent(Component.java:5100) at java.awt.Component.processEvent(Component.java:4897) at java.awt.Container.processEvent(Container.java:1569) at java.awt.Component.dispatchEventImpl(Component.java:3615) at java.awt.Container.dispatchEventImpl(Container.java:1627) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128) at java.awt.Container.dispatchEventImpl(Container.java:1613) at java.awt.Window.dispatchEventImpl(Window.java:1606) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.EventQueue.dispatchEvent(EventQueue.java:456) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThrea d.java:201) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread. java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100) java.lang.NullPointerException at java.lang.String.startsWith(String.java:1006) at java.lang.String.startsWith(String.java:1035) at org.apache.log4j.chainsaw.LoggerNameTreePanel$18.evaluate(Unknown Source) at org.apache.log4j.chainsaw.LoggerNameTreePanel.evaluate(Unknown Source) at org.apache.log4j.chainsaw.RuleMediator.evaluate(Unknown Source) at org.apache.log4j.chainsaw.ChainsawCyclicBufferTableModel$FilterChangeExe cutor.run(Unknown Source) at java.lang.Thread.run(Thread.java:534) 28) My receiver definitions aren't persisted across runs of chainsaw. 29) What's the difference between pausing a receiver and pausing incoming events on the toolbar. If they're the same they should be merged to one icon, or at least change state together. Sorry of I missed the point on some of these items - these are just my thoughts and experiences as a first time user. Hope it helps! Regards, Olli > -----Original Message----- > From: Paul Smith [mailto:[EMAIL PROTECTED] > Sent: Tuesday, January 06, 2004 5:07 PM > To: 'Log4J Users List ' > Subject: RE: Where has LogFactor5 gone? > > > > Thanks for the reply. I downloaded and started looking at chainsaw2 > > this morning and started to get the feeling the LF5 was now part of > > it. Thanks for confirming that. > > LF5 is very popular, we would be negligent in not trying to > cater for features that people use. If we missed anything, > please let us know. > > > The new chainsaw does look good and seemed stable in my usage this > > morning - well done (I did note a few areas that need a > little polish > > to unlock their true potential and remove some usability > wrinkles :). > > That's great news. Would you be able to articulate any issues > you see to this list? You know how it is, sometimes we are > so close to it all, we can't see the forest for the trees... > > > Is there a gestimate of when log4j 1.3 (and chainsaw2) > might come out > > of alpha/beta? > > I would say the log4j Alpha release is 'near', and that is > about all I could say with any certainty. Lots of test cases > and docs to do yet, and for Chainsaw v2, there is still a > number of cool features to add yet. > > cheers, > > Paul Smith > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
