I haven't had a chance to check in the changes since this fix.  I will be
doing some tonight.

fyi,
-Mark

> -----Original Message-----
> From: Ceki Gülcü [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, November 14, 2002 12:51 AM
> To: Log4J Developers List
> Subject: RE: Problems adding new listener interfaces
> 
> 
> 
> My bad. I forgot to check in the modified witness files... 
> I'll do that in 
> a second. Sorry for the hassle.
> 
> 
> At 09:48 14.11.2002 +0100, you wrote:
> 
> >Have you recently updated tests/ from CVS? I made some 
> changes yesterday.
> >
> >At 22:37 13.11.2002 -0800, you wrote:
> >>I did the changes noted below, but when I try to run the 
> test cases, I get
> >>an error running MinimumTestCase.  I'm pretty sure my 
> changes have nothing
> >>to do with this, but I am uncomfortable checking in changes 
> when I cannot
> >>successfully run the test cases.  Will this be resolved 
> soon?  Is there
> >>something I need to do in my environment?
> >>
> >>-Mark
> >>
> >>Minimum:
> >>     [junit] Running org.apache.log4j.MinimumTestCase
> >>     [junit] Files [output/filtered] and [witness/simple] 
> differ on line 26
> >>     [junit] One reads:  [       at
> >>org.apache.log4j.MinimumTestCase.common(X)].
> >>     [junit] Other reads:[       at
> >>org.apache.log4j.MinimumTestCase.common(Minim
> >>umTestCase.java:XXX)].
> >>     [junit] Tests run: 1, Failures: 1, Errors: 0, Time 
> elapsed: 0.651 sec
> >>     [junit] Testsuite: org.apache.log4j.MinimumTestCase
> >>     [junit] Tests run: 1, Failures: 1, Errors: 0, Time 
> elapsed: 0.651 sec
> >>     [junit]
> >>     [junit] Testcase: simple took 0.651 sec
> >>     [junit]     FAILED
> >>     [junit] null
> >>     [junit] junit.framework.AssertionFailedError
> >>     [junit]     at junit.framework.Assert.fail(Assert.java:51)
> >>     [junit]     at 
> junit.framework.Assert.assertTrue(Assert.java:38)
> >>     [junit]     at 
> junit.framework.Assert.assertTrue(Assert.java:45)
> >>     [junit]     at
> >>org.apache.log4j.MinimumTestCase.simple(MinimumTestCase.java:
> >>67)
> >>     [junit]     at java.lang.reflect.Method.invoke(Native Method)
> >>     [junit]     at 
> junit.framework.TestCase.runTest(TestCase.java:166)
> >>     [junit]     at 
> junit.framework.TestCase.runBare(TestCase.java:140)
> >>     [junit]     at 
> junit.framework.TestResult$1.protect(TestResult.java:106)
> >>     [junit]     at
> >>junit.framework.TestResult.runProtected(TestResult.java:124)
> >>     [junit]     at 
> junit.framework.TestResult.run(TestResult.java:109)
> >>     [junit]     at junit.framework.TestCase.run(TestCase.java:131)
> >>     [junit]     at 
> junit.framework.TestSuite.runTest(TestSuite.java:173)
> >>     [junit]     at 
> junit.framework.TestSuite.run(TestSuite.java:168)
> >>     [junit]     at
> >>org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.
> >>run(JUnitTestRunner.java:231)
> >>     [junit]     at
> >>org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.
> >>main(JUnitTestRunner.java:409)
> >>     [junit]
> >>
> >>BUILD FAILED
> >>
> >> > -----Original Message-----
> >> > From: Mark Womack [mailto:[EMAIL PROTECTED]]
> >> > Sent: Wednesday, November 13, 2002 9:48 AM
> >> > To: 'Log4J Developers List'
> >> > Subject: RE: Problems adding new listener interfaces
> >> >
> >> >
> >> > OK.  So, I will deprecate the 
> fireAddAppenderEvent(category, appender) and
> >> > create a new version fireAddAppenderEvent(logger, appender).
> >> > Should we also
> >> > add fireRemoveAppenderEvent(category, appender) (and maybe
> >> > fireRemoveAllAppendersEvent() and fireLevelChangedEvent()) to
> >> > LoggerRepository?  Don't the loggers need access to those methods
> >> > as well to
> >> > report their activity?
> >> >
> >> > I did not realize that we could cast a Category to 
> Logger and it would
> >> > always work in v1.2.  That is good news.  We should take a pass
> >> > through the
> >> > interfaces and deprecate methods using Category and 
> replace them with
> >> > versions using Logger.  At some point Category will be 
> going away, so we
> >> > should prepare folks now.
> >> >
> >> > Regarding the indentation, I am using JCreator for my 
> editor, and it does
> >> > not automatically indent files when they are opened.  In the
> >> > files I sent, I
> >> > did some minor cleanup to layout of some of the methods, 
> etc to match the
> >> > log4j format.  We really should use a style tool to 
> format the existing
> >> > source to our chosen format and check in the result.
> >> >
> >> > I'll be checking more stuff in tonight.
> >> >
> >> > thanks!
> >> > -Mark
> >> >
> >> > > -----Original Message-----
> >> > > From: Ceki Gülcü [mailto:[EMAIL PROTECTED]]
> >> > > Sent: Wednesday, November 13, 2002 4:09 AM
> >> > > To: Log4J Developers List
> >> > > Subject: Re: Problems adding new listener interfaces
> >> > >
> >> > >
> >> > >
> >> > > AFAIK, the only place where HierarchyEventListener interface is
> >> > > actually used to get work done is in the o.a.l.jmx package. Our
> >> > > current JMX support is half-baked. So, I would not 
> have any qualms to
> >> > > just remove HierarchyEventListener and by implication 
> change the
> >> > > LoggerRepository interface and the Hierarchy class. 
> This should not
> >> > > affect any of our users or developers extending log4j.
> >> > >
> >> > > Now, if you remove the addHierarchyEventLister method in
> >> > > LoggerRepository and Hierarchy, the jmx package will no longer
> >> > > compile. So for the time being you can leave them in 
> as deprecated (as
> >> > > you have already done). I'll remove them later when it 
> is time to work
> >> > > on the o.a.l.jmx package.
> >> > >
> >> > >  > Also, fireAddAppenderEvent() is actually defined in the
> >> > >  > LoggerRepository interface.  Why?  Seems like that 
> should be a
> >> > >  > private/protected method of Hierarchy to me.
> >> > >
> >> > > Good question. The reasons for having fireAddAppenderEvent() in
> >> > > LoggerRepository is because for efficiency reasons 
> Loggers do not know
> >> > > about HierarchyEventListeners. HierarchyEventListeners 
> are added to a
> >> > > LoggerRepository. The logger tells its logger 
> repository to fire an
> >> > > event to inform the registered hierarchy event 
> listeners. Otherwise,
> >> > > we would have needed to add a HierarchyEventListener 
> to each logger
> >> > > which would be quite cumbersome, instead we register a 
> listener with
> >> > > just the container (the logger repository).
> >> > >
> >> > > Have I answered the question?
> >> > >
> >> > > BTW, which IDE are you using? Does it automatically indent
> >> > > files? If it
> >> > > does this can be a problem because if many lines are 
> automatically
> >> > > indented, then the results of a diff operation are 
> drowned by false
> >> > > diffs, that is, lines where just the indentation has 
> changed but not
> >> > > contents. This is not a major problem just something 
> to be aware of.
> >> > >
> >> > > I really appreciate your thoroughness.
> >> > >
> >> > > One more note. When category class calls 
> fireSomethingEvent it will
> >> > > pass itself as parameter. This parameter can be cast 
> to Logger even if
> >> > > "this" is seemingly of class Category. Log4j 1.2 will 
> NEVER produce
> >> > > pure Category objects, ALL produced categories are 
> actually Logger.
> >> > >
> >> > > At 22:06 12.11.2002 -0800, you wrote:
> >> > > >I created and checked in new listener interfaces
> >> > > >LoggerRepositoryEventListener and LoggerEventListener.  You
> >> > > can review.
> >> > > >
> >> > > >I then went ahead and modified LoggerRepository to deprecate
> >> > > the current
> >> > > >addHierarchyEventListener() method and to add new methods to
> >> > > add/remove the
> >> > > >new listeners.
> >> > > >
> >> > > >I then went ahead a started to modify Hierarchy to 
> support the new
> >> > > >listeners.  Everything is straight forward until I get to
> >> > > >fireAddAppenderEvent() and fireRemoveAppenderEvent()
> >> > > methods.  Both of these
> >> > > >take Category as input parameters, so I get a compile error
> >> > > when I try to
> >> > > >pass it to the LoggerEventListener methods that require a
> >> > > Logger.  Also,
> >> > > >fireAddAppenderEvent() is actually defined in the 
> LoggerRepository
> >> > > >interface.  Why?  Seems like that should be a
> >> > > private/protected method of
> >> > > >Hierarchy to me.
> >> > > >
> >> > > >Can we look at upgrading Hierarchy to use Logger instead of
> >> > > Category?  I'm
> >> > > >guessing that it will affect the current interface quite a
> >> > > bit.  Ceki, I
> >> > > >think it  will require you to look into it as this has the
> >> > > potential to
> >> > > >break lots of things.
> >> > > >
> >> > > >I have not checked in my LoggerRepository or Hierarchy
> >> > > changes as doing so
> >> > > >will break the build.  I have enclosed them with this email
> >> > > if it will help.
> >> > > >
> >> > > >stuck,
> >> > > >-Mark
> >> > > >
> >> > > >
> >> > > >--
> >> > > >To unsubscribe, e-mail:
> >> > > <mailto:[EMAIL PROTECTED]>
> >> > > >For additional commands, e-mail:
> >> > > <mailto:[EMAIL PROTECTED]>
> >> > >
> >> > > --
> >> > > Ceki
> >> > >
> >> > > TCP implementations will follow a general principle of 
> robustness: be
> >> > > conservative in what you do, be liberal in what you accept from
> >> > > others. -- Jon Postel, RFC 793
> >> > >
> >> > >
> >> > >
> >> > > --
> >> > > To unsubscribe, e-mail:
> >> > > <mailto:[EMAIL PROTECTED]>
> >> > > For additional commands, e-mail:
> >> > > <mailto:[EMAIL PROTECTED]>
> >> > >
> >> >
> >> > --
> >> > To unsubscribe, e-mail:
> >><mailto:[EMAIL PROTECTED]>
> >>For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> >>
> >>
> >>--
> >>To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> >>For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> >
> >--
> >Ceki
> >
> >TCP implementations will follow a general principle of robustness: be
> >conservative in what you do, be liberal in what you accept from
> >others. -- Jon Postel, RFC 793
> >
> >
> >
> >--
> >To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> >For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> >
> 
> --
> Ceki
> 
> TCP implementations will follow a general principle of robustness: be
> conservative in what you do, be liberal in what you accept from
> others. -- Jon Postel, RFC 793
> 
> 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> 

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to