tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard Mixon (qwest)" <>
Subject commons-logging logger instances - how to initialize in replicated session objects
Date Sat, 12 Feb 2005 00:23:25 GMT
I have been working with Filip Hanik to get failover/session replication
working for my application. Finally it is working quite well. Hooray for

However it did uncover one issue with the way I was handling the
commons-logging logger instances in my business objects that I store in
the HTTP session at times.

Given the following class:
  public class MyBusinessObject1 implements Serializable {
    private static Log log =
    public void setShowXAxisAsPercentages(boolean
showXAxisAsPercentages) {
        this.showXAxisAsPercentages = showXAxisAsPercentages;
        if (log == null) {
            log = LogFactory.getLog(ClassMeasurementFilter.class);
  "setShowXAxisAsPercentages - log was null");
        if (log.isDebugEnabled()) log.debug("setShowXAxisAsPercentages
set to "+this.showXAxisAsPercentages);

I had to put the "if (log == null)" check in because when the objects
were replicated to another cluster instance and failover occured I would
get an NPE on the "log" variable.

Obviously having to put this "if (log == null)" check in is very awkward
and error prone.

Other approaches include creating a utility method in the base class for
my business objects. I'm not sure if this will give me the "logger per
class" that I've been used to so that I can readily identify where log
messages come from.

Are there any other approaches anyone would suggest?

Thank you - Richard

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message