You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by st...@xks.co.uk on 2003/12/11 16:46:46 UTC
Re: Log based on object and not the class
Scott,
Why not add a switch parameter to the parent method?
i.e
Class Parent {
...
Public void myMethod(boolean b) {
if (b==true) {
Logger.debug("logging message");
}
}
}
Class Child1 extends Parent {
...
Public void execute1() {
this.myMethod(true);
}
}
Class Child2 extends Parent {
...
Public void execute2() {
this.myMethod(false);
}
}
Steve
"Scott Melcher"
<smelcher@assistc To: "'Log4J Users List'" <lo...@jakarta.apache.org>
orp.com> cc:
Subject: Log based on object and not the class
11/12/2003 15:46
Please respond to
"Log4J Users
List"
Hi, my problem is that in my object architecture/hierarchy I have dozens of
classes that extend a single parent class. The parent class has a method
that is called by all of the child classes. It is in this method that I
have several log statements. The problem is that I only have the ability
to
turn the logger on or off for that parent class. If I turn it on then I
will get too many logging messages. I would only like to log messages in
that parent class for a given child class.
I know I am not explaing this well so I will add a quick code example.
In my example I only want to log messages from the Child1 class. Therefore
if I was to execute my two child classes I would want to get a single
"logging message".
Class Parent {
...
Public void myMethod() {
Logger.debug("logging message");
}
}
Class Child1 extends Parent {
...
Public void execute1() {
this.myMethod();
}
}
Class Child2 extends Parent {
...
Public void execute2() {
this.myMethod();
}
}
THANKS for any input you can give!
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-user-help@jakarta.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-user-help@jakarta.apache.org
RE: Log based on object and not the class - Solution
Posted by Scott Melcher <sm...@assistcorp.com>.
Ceki,
Thats an excellent solution. It's not very intrusive to the application.
I pay the expense of an extra method call but the benefits probably outweigh
the cost.
Thank you very much.
-----Original Message-----
From: Ceki Gülcü [mailto:ceki@qos.ch]
Sent: Thursday, December 11, 2003 9:27 AM
To: Log4J Users List
Subject: RE: Log based on object and not the class
Scott,
I just committed a possible solution to the problem you raised.
You can look at it here:
http://cvs.apache.org/viewcvs.cgi/jakarta-log4j/examples/objectBased/
Does it solve the problem?
At 08:56 AM 12/11/2003 -0700, you wrote:
>I considered doing something like you suggested but I just hate to add code
>in order to handle logging. Our application is very large and I would have
>to add some object layers in order to get it to work. It seems like
>overkill. For now I may just put external filters on my application that
>simply display the messages I am interested in.
>
>Thanks for the response.
>
>-----Original Message-----
>From: steve.beech@xks.co.uk [mailto:steve.beech@xks.co.uk]
>Sent: Thursday, December 11, 2003 8:47 AM
>To: Log4J Users List
>Subject: Re: Log based on object and not the class
>
>
>Scott,
>
>Why not add a switch parameter to the parent method?
>
>i.e
>
>Class Parent {
> ...
> Public void myMethod(boolean b) {
> if (b==true) {
> Logger.debug("logging message");
> }
> }
>}
>
>Class Child1 extends Parent {
> ...
> Public void execute1() {
> this.myMethod(true);
> }
>}
>
>Class Child2 extends Parent {
> ...
> Public void execute2() {
> this.myMethod(false);
> }
>}
>
>Steve
--
Ceki Gülcü
For log4j documentation consider "The complete log4j manual"
ISBN: 2970036908 http://www.qos.ch/shop/products/clm_t.jsp
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-user-help@jakarta.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-user-help@jakarta.apache.org
RE: Log based on object and not the class
Posted by Ceki Gülcü <ce...@qos.ch>.
Scott,
I just committed a possible solution to the problem you raised.
You can look at it here:
http://cvs.apache.org/viewcvs.cgi/jakarta-log4j/examples/objectBased/
Does it solve the problem?
At 08:56 AM 12/11/2003 -0700, you wrote:
>I considered doing something like you suggested but I just hate to add code
>in order to handle logging. Our application is very large and I would have
>to add some object layers in order to get it to work. It seems like
>overkill. For now I may just put external filters on my application that
>simply display the messages I am interested in.
>
>Thanks for the response.
>
>-----Original Message-----
>From: steve.beech@xks.co.uk [mailto:steve.beech@xks.co.uk]
>Sent: Thursday, December 11, 2003 8:47 AM
>To: Log4J Users List
>Subject: Re: Log based on object and not the class
>
>
>Scott,
>
>Why not add a switch parameter to the parent method?
>
>i.e
>
>Class Parent {
> ...
> Public void myMethod(boolean b) {
> if (b==true) {
> Logger.debug("logging message");
> }
> }
>}
>
>Class Child1 extends Parent {
> ...
> Public void execute1() {
> this.myMethod(true);
> }
>}
>
>Class Child2 extends Parent {
> ...
> Public void execute2() {
> this.myMethod(false);
> }
>}
>
>Steve
--
Ceki Gülcü
For log4j documentation consider "The complete log4j manual"
ISBN: 2970036908 http://www.qos.ch/shop/products/clm_t.jsp
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-user-help@jakarta.apache.org
RE: Log based on object and not the class
Posted by Scott Melcher <sm...@assistcorp.com>.
I considered doing something like you suggested but I just hate to add code
in order to handle logging. Our application is very large and I would have
to add some object layers in order to get it to work. It seems like
overkill. For now I may just put external filters on my application that
simply display the messages I am interested in.
Thanks for the response.
-----Original Message-----
From: steve.beech@xks.co.uk [mailto:steve.beech@xks.co.uk]
Sent: Thursday, December 11, 2003 8:47 AM
To: Log4J Users List
Subject: Re: Log based on object and not the class
Scott,
Why not add a switch parameter to the parent method?
i.e
Class Parent {
...
Public void myMethod(boolean b) {
if (b==true) {
Logger.debug("logging message");
}
}
}
Class Child1 extends Parent {
...
Public void execute1() {
this.myMethod(true);
}
}
Class Child2 extends Parent {
...
Public void execute2() {
this.myMethod(false);
}
}
Steve
"Scott Melcher"
<smelcher@assistc To: "'Log4J Users
List'" <lo...@jakarta.apache.org>
orp.com> cc:
Subject: Log based on object
and not the class
11/12/2003 15:46
Please respond to
"Log4J Users
List"
Hi, my problem is that in my object architecture/hierarchy I have dozens of
classes that extend a single parent class. The parent class has a method
that is called by all of the child classes. It is in this method that I
have several log statements. The problem is that I only have the ability
to
turn the logger on or off for that parent class. If I turn it on then I
will get too many logging messages. I would only like to log messages in
that parent class for a given child class.
I know I am not explaing this well so I will add a quick code example.
In my example I only want to log messages from the Child1 class. Therefore
if I was to execute my two child classes I would want to get a single
"logging message".
Class Parent {
...
Public void myMethod() {
Logger.debug("logging message");
}
}
Class Child1 extends Parent {
...
Public void execute1() {
this.myMethod();
}
}
Class Child2 extends Parent {
...
Public void execute2() {
this.myMethod();
}
}
THANKS for any input you can give!
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-user-help@jakarta.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-user-help@jakarta.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-user-help@jakarta.apache.org