Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > JULI: java.util.logging

Reply
Thread Tools

JULI: java.util.logging

 
 
gwoodhouse@gmail.com
Guest
Posts: n/a
 
      12-22-2010
Hello all,

I have a question about the JULI logging system that Iíve been unable
to answer for several months now.

I'm using a tomcat server (5.5) to run a web application, inside this
application there are many different logging methods within many
different classes spanning many namespaces. The java code can be
summed up in this example:

package uk.co.graeme.layout.element.register;
import java.util.logging.Logger;

public class ExampleClass
{
private static Logger LOG =
Logger.getLogger(ExampleClass.class.getName());

public Boolean evaluate(String a, String b)
{
try
{
if(a.equalsIgnoreCase(b)) { return true; }
else { return false; }
} catch (Exception e) {
LOG.info ("An exception was thrown");
}
return false;
}
}

Unfortunately this web application has been shipped to me a
logging.properties file which isn't far removed from the default. You
can see the logging file at this URL underneath the String "Example
logging.properties file to be placed in common/classes:":
http://tomcat.apache.org/tomcat-5.5-doc/logging.html

For various reasons i cannot change the properties file.

Now each of the different handlers specified in the example are
logging, I can tell this by the fact that log files are being created
and written to (catalina.log, localhost.log, etc.).

My question is, from the above java code example, where would the
String "An exception was thrown" log to (and how can you tell this?)

Thank you in advance. I'm sorry to ask what seems like a very simple
question but looking through documentation has been surprisingly
unhelpful.

Graeme
 
Reply With Quote
 
 
 
 
Arne VajhÝj
Guest
Posts: n/a
 
      12-24-2010
On 22-12-2010 11:45, http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:
> I have a question about the JULI logging system that Iíve been unable
> to answer for several months now.
>
> I'm using a tomcat server (5.5) to run a web application, inside this
> application there are many different logging methods within many
> different classes spanning many namespaces. The java code can be
> summed up in this example:
>
> package uk.co.graeme.layout.element.register;
> import java.util.logging.Logger;
>
> public class ExampleClass
> {
> private static Logger LOG =
> Logger.getLogger(ExampleClass.class.getName());
>
> public Boolean evaluate(String a, String b)
> {
> try
> {
> if(a.equalsIgnoreCase(b)) { return true; }
> else { return false; }
> } catch (Exception e) {
> LOG.info ("An exception was thrown");
> }
> return false;
> }
> }
>
> Unfortunately this web application has been shipped to me a
> logging.properties file which isn't far removed from the default. You
> can see the logging file at this URL underneath the String "Example
> logging.properties file to be placed in common/classes:":
> http://tomcat.apache.org/tomcat-5.5-doc/logging.html
>
> For various reasons i cannot change the properties file.
>
> Now each of the different handlers specified in the example are
> logging, I can tell this by the fact that log files are being created
> and written to (catalina.log, localhost.log, etc.).
>
> My question is, from the above java code example, where would the
> String "An exception was thrown" log to (and how can you tell this?)
>
> Thank you in advance. I'm sorry to ask what seems like a very simple
> question but looking through documentation has been surprisingly
> unhelpful.


As I read the properties files then I believe it should
end up in the catalina log, because that (and the console)
are those assigned to root.

Arne

PS: You can also control logging programmatic, so even
though you can not change the properties file, then you
should be able to get the output to a file of your choice
anyway.

 
Reply With Quote
 
 
 
 
Lew
Guest
Posts: n/a
 
      12-25-2010
Some side notes unrelated to your primary question but still worth mentioning:

(E-Mail Removed) wrote:
>> public class ExampleClass
>> {
>> private static Logger LOG =


The variable name 'LOG' here does not follow the Java naming conventions,
which call for an initial lower-case letter and mixed-case, with the first
letter of compound word parts (or initials) to be upper case, or for this
variable, 'log'.

>> Logger.getLogger(ExampleClass.class.getName());
>>
>> public Boolean evaluate(String a, String b)
>> {
>> try
>> {
>> if(a.equalsIgnoreCase(b)) { return true; }
>> else { return false; }


That is so rococo! Why not just 'return a.equalsIgnoreCase( b) );'?

The simpler form is preferred.

Also, you forgot to prevent 'NullPointerException'.

Why are you returning 'Boolean'? Autoboxing is not the greatest thing. If
you must use it, comment the usage along with its purpose. Don't just leave
stuff like that lying around undocumented.

public boolean evaluate( String a, String b )
{
return (a == null? b == null : a.equalsIgnoreCase( b ));
}

>> } catch (Exception e) {


Why are you checking for exceptions at all, much less 'Exception'?

Checking for 'Exception' is an antipattern, with a few specialized use cases
where you might use it anyway, none of which apply here.

>> LOG.info ("An exception was thrown");
>> }
>> return false;
>> }
>> }

....
>> My question is, from the above java code example, where would the


"Java" (the name of the programming language) is spelled with an upper-case "J".

--
Lew
Ceci n'est pas une pipe.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




Advertisments