Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #12413

Re: Additional logging questions

From Novice <novice@example..com>
Newsgroups comp.lang.java.programmer
Subject Re: Additional logging questions
Date 2012-02-27 04:12 +0000
Organization Your Company
Message-ID <XnsA005ED51BFCF7jpnasty@94.75.214.39> (permalink)
References <XnsA005D74257FB0jpnasty@94.75.214.39> <4f4ae583$0$281$14726298@news.sunsite.dk>

Show all headers | View raw


Arne Vajhøj <arne@vajhoej.dk> wrote in
news:4f4ae583$0$281$14726298@news.sunsite.dk: 

> On 2/26/2012 9:02 PM, Novice wrote:
>> I _think_ these supplementary questions will be a lot less of a
>> struggle than the others in "Aspect questions" thread. That thread is
>> getting on the long side so I thought I'd ask these in a new thread.
>>
>> Basically, I'm looking for advice on what should always be logged by
>> every class. I understand now that every class is going to have its
>> own logger but what should be logged?
>>
>> Or to put it another way, are there cases where a class won't log at
>> all? 
>>
>> I'm thinking of things like Enums. If I have an enum that lists the
>> days of the week, there's not much to go wrong there and I'm not
>> likely to throw exceptions or even have a try/catch block. So should
>> it just be left so that it isn't logging at all? Or should there be
>> some standard bare-minimum sort of logging, like an entering() and
>> existing(), even if nothing else of interest goes on?
>>
>> What about holder classes? I'm not sure if I'm using the terminology
>> correctly but I'm thinking of a class where you simply store related
>> bits of data, like a Name class whose constructor insists on a first
>> name and a last name and then supplies getters and setters so that
>> another class can ask for just the first name or just the last name?
>> (Let's pretend that everyone has exactly one given name and one
>> surname, no exceptions, just to keep this simple). This could be an
>> awfully barebones class if it only had a two line constructor and one
>> line getters and setters. Should it log anyway?
>>
>> My feeling is that Lew would say NOT to log unless there was a good
>> reason to log and then cite several good reasons to log. I'm not sure
>> if something like an enum or a holder class (if I've used the term
>> correctly) would EVER justify logging though.
>>
>> I may have completely misread Lew and, if so, I'm sorry. Maybe this
>> is another premature leap....
>>
>> Some of the rest of you may differ dramatically on what should be
>> logged and when it is okay not to bother. I hope some of you can
>> share those thoughts with me.
>>
>> Basically, I'm just about ready to start getting loggers for each and
>> every class in the project I'm working on now (with plans to do the
>> same in every project as I create it or return to it). But I don't
>> want to do too much logging either.....
> 
> You should log the information you expect potentially could be
> useful when troubleshooting a problem.
> 
> And as a general rule, then if any doubt then log, because it
> is usually better to have too much logging than too little
> logging.
> 
> I do not see any need for logging in an enum or in a pure
> data class (holder class).
> 
> But please add a toString method in your data class, so
> when the class with real login in that uses the data class
> can log it and you get something useful in the log about the
> data.
> 
Sorry, I'm not following you.

Are you saying that the toString() method needs to be there to turn 
things like references into meaningful information? I know that a 
reference to something like a JFrame is not going to be very meaningful 
and would rather display the name given the JFrame via setName(). Or are 
you saying something quite different? 


-- 
Novice

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Additional logging questions Novice <novice@example..com> - 2012-02-27 02:02 +0000
  Re: Additional logging questions Arne Vajhøj <arne@vajhoej.dk> - 2012-02-26 21:08 -0500
    Re: Additional logging questions Novice <novice@example..com> - 2012-02-27 04:12 +0000
      Re: Additional logging questions Lew <noone@lewscanon.com> - 2012-02-26 22:13 -0800
        Re: Additional logging questions Novice <novice@example..com> - 2012-02-27 19:14 +0000
          Re: Additional logging questions Lew <noone@lewscanon.com> - 2012-02-27 12:32 -0800
          Re: Additional logging questions Lew <noone@lewscanon.com> - 2012-02-27 13:06 -0800
            Re: Additional logging questions Novice <novice@example..com> - 2012-02-28 01:48 +0000
              Re: Additional logging questions Arne Vajhøj <arne@vajhoej.dk> - 2012-02-27 20:57 -0500
                Re: Additional logging questions Lew <noone@lewscanon.com> - 2012-02-27 23:51 -0800
          Re: Additional logging questions Arne Vajhøj <arne@vajhoej.dk> - 2012-02-27 20:50 -0500
            Re: Additional logging questions Lew <noone@lewscanon.com> - 2012-02-27 23:57 -0800
        Re: Additional logging questions Arne Vajhøj <arne@vajhoej.dk> - 2012-02-27 20:45 -0500
          Re: Additional logging questions Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-02-28 01:52 -0600
            Re: Additional logging questions Arne Vajhøj <arne@vajhoej.dk> - 2012-02-28 17:20 -0500
            Re: Additional logging questions Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-02-28 20:26 -0400
      Re: Additional logging questions Arne Vajhøj <arne@vajhoej.dk> - 2012-02-27 20:34 -0500
  Re: Additional logging questions Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-02-27 12:36 -0800
    Re: Additional logging questions Novice <novice@example..com> - 2012-02-28 01:43 +0000

csiph-web