JULI: java.util.logging

G

gwoodhouse

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
 
A

Arne Vajhøj

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.
 
L

Lew

Some side notes unrelated to your primary question but still worth mentioning:


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'.

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 ));
}

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.

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

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,773
Messages
2,569,594
Members
45,113
Latest member
Vinay KumarNevatia
Top