> Zart, it's a good idea to log failed assertions.  I agree that the method
> name assert() implies that it is an assertion mechanism, though as pointed
> out, it doesn't claim to do anything more than log to error based on
> true/false.

I just wrote this code this morning in the Airline Traffic Controller
program we are working on public void alertCollision(String message) with
the following javadoc comment /** assign message to the global variable
gUserAlert. The controller will be alerted once he setup a watchpoint on the
global variable gUserAlert with gdb */

I think the maintenance team will have a very good time with this one !

> Sorry, can't give a better explanation for the method's existence.

Ceki, any explanations ?

> We can easily add logging to our own assertion classes... or if we want this
> into log4j, perhaps Ceki could change the behaviour of the assert method,
> for example:
> 
> boolean Category.assert( boolean assertion, msg );
> 
> The method should return the boolean value of the assertion, so that it can
> be used for other purposes such as throwing a runtime exception. e.g.
> 
> if (MyCategory.assert( (x==null), "This should never be null" )) throw new
> RuntimeException("blah blah");
> 
> However it seems to be a bit of pain to type out the message again, so
> perhaps the assert() method should take on more responsibility.  How about
> an extra method such as assertFatal() which will throw the exception for you
> and log to fatal?
> 
> MyCategory.assertFatal( (x==null), "see you!");

Exactly my thoughts, except that I would rather re-implement the existing
Category.assert function instead of creating a new one, because the existing
Category.assert function as it stand right now, serve no meaningful purpose.

> 
> Cheers
> 
> Simon Liu

ZC


>> -----Original Message-----
>> From:    Zart Colwing [SMTP:[EMAIL PROTECTED]]
>> Sent:    Thursday, June 21, 2001 10:51 PM
>> To:    LOG4J Users Mailing List
>> Subject:    Re: Category.assert() disappointing
>> 
>>> Is a logging framework where you want to implement an assertion
>> mechanism?
>> 
>> Why not ?  There is no assert mechanism in Java (except manually testing a
>> condition and throwing a RuntimeException); having one implemented in
>> log4j
>> doesn't seems a bad idea at first glance.
>> 
>> But the point is org.apache.log4j.Category.assert() is NOT an assert
>> mechanism despite its name. Either it is a misnomer or it is badly
>> implemented.
>> 
>> That's why I asked what is the purpose of this assert function.
>> Is there someone that is using it ?
>> 
>> ZC
>> 
>> 
>> 
>>> 
>>> -----Original Message-----
>>> From: Gino Marckx [mailto:[EMAIL PROTECTED]]
>>> Sent: Thursday, June 21, 2001 8:57 AM
>>> To: 'LOG4J Users Mailing List'
>>> Subject: RE: Category.assert() disappointing
>>> 
>>> 
>>> 
>>> But shouldn't it in fact be FATAL and quit?
>>> I think Zart has a point...  At least the logging level should be
>> FATAL...
>>> 
>>> Gino. 
>>> 
>>>> -----Original Message-----
>>>> From: Hansen, Richard [ mailto:[EMAIL PROTECTED]
>>> <mailto:[EMAIL PROTECTED]> ]
>>>> Sent: Thursday, June 21, 2001 3:53 PM
>>>> To: 'LOG4J Users Mailing List'
>>>> Subject: RE: Category.assert() disappointing
>>>> 
>>>> 
>>>> Here is what the javadoc says about Category.assert():
>>>> 
>>>> "If assertion parameter is false, then logs msg as an error statement."
>>>> 
>>>> So I guess I would not have expected it to halt ny application.
>>>> 
>>>>> -----Original Message-----
>>>>> From: Zart Colwing [ mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ]
>>>>> Sent: Thursday, June 21, 2001 8:16 AM
>>>>> To: LOG4J Users Mailing List
>>>>> Subject: Category.assert() disappointing
>>>>> 
>>>>> 
>>>>> I'm disappointed by the Category.assert() function.
>>>>> 
>>>>> It was my belief that when an assert breaks that means that
>>>>> the conditions
>>>>> for the safe continuation of the program execution are not
>>>>> meet and it is
>>>>> better to halt the program right away before running into big
>>>>> troubles. 
>>>>> 
>>>>> Category.assert() obviously doesn't live by the same
>>>>> interpretation because
>>>>> it never tries to halt the faulty program in any way, shape or form.
>>>>> For me Category.assert() is just a way to log at ERROR level,
>>>>> not even at 
>>>>> FATAL level as one could at least expect !
>>>>> 
>>>>> I'm just asking if it is intentional and if yes why so ?
>>>>> 
>>>>> 
>>>>> Tanks 
>>>>> ZC 


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

Reply via email to