Hi,

>I agree with this approach. The only drawback is that you might need to
>duplicate your logging code. For example : MethodA and MethodB both
call
>MethodC. MethodC finds an error and throw an exception. Then both
MethodA
>and MethodB will need to log this error. And what if you have 50
methods
>calling MethodC? On the other hand if you log the error in MethodC then
you
>have only one place that handles the logging for this error.
>
>Don't get me wrong, with your approach (which is the one that I use in
my
>code) you will have only one log for each error but the code might be
>harder
>to maintain.

It depends on the complexity of the logging code: I was assuming it's
just
catch(Exception e) { LOGGER.error("Caught exception: ", e); } or
something like that.  If you're doing all sorts of fancy stuff, then I
agree, but I don't do that.  Logging should be trivially simple, very
quick, and easily scalable to millions to logging statements: at least
those have been the scalability and performance requirements in systems
I've worked on.  Approaches like hasBeenLogged fail very quickly in
large system with many components (including 3rd party ones) and layers.

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


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

Reply via email to