BEA Systems, Inc.

BEA WebLogic Server 9.0 API Reference


weblogic.logging
Class Loggable

java.lang.Object
  extended byweblogic.logging.Loggable

public class Loggable
extends Object

Loggable objects are used when there is a need to collect log entry data without actually logging the message until a later time. Type casting is weak for the log parameters provided when constructing. The user must ensure that the arguments associated with a particular log message are of the appropriate type and in the correct order.

It is therefore preferable to not explicitly create Loggable objects, rather they should be defined through the relevant message catalog file as follows:

 
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE message_catalog PUBLIC "weblogic-message-catalog-dtd" "http://www.bea.com/servers/wls600/msgcat.dtd">
  <message_catalog
     l10n_package="examples"
     i18n_package="examples"
     subsystem="LoggableExample"
     version="1.0"
     baseid="999000"
     endid="999999"
     loggables="true"
     >
     <logmessage
        messageid="999000"
        severity="info"
        method="logExample(String arg1)"
        >
        <messagebody>
           Test message with arg, {0}
        </messagebody>
        <messagedetail>
        </messagedetail>
        <cause>
        </cause>
        <action>
        </action>
     </logmessage>
  </message_catalog>
 
 

The above catalog defines the logExample(String) method plus a logExampleLoggable(String) method. The latter is created due to the presence of the loggables="true" setting for the message_catalog element. The logExample(String) method logs the message and returns the id of the message. The logExampleLoggable(String) method does not log the message, and returns the appropriate Loggable object for the message. Loggable objects are convenient for logging messages and using the same text in a Throwable. For example,

 
 import examples.LoggableExampleLogger;
 import weblogic.logging.Loggable;
 ...
 // some error detected
 Loggable l = LoggableExampleLogger.logExampleLoggable("whatever");
 l.log();  // this logs the message
 throw new Exception(l.getMessage()); // creates exception with same text as logged
 
 

Copyright © 2005 BEA Systems, Inc. All Rights Reserved.

Constructor Summary
Loggable(String id, Object[] args)
          Creates an object that can be logged to the server log.
 
Method Summary
 String getId()
          Get the message id.
 String getMessage()
          Get the message in current locale with [subsytem:id] prefix.
 String getMessage(Locale l)
          Get the message in specified locale with [subsytem:id] prefix.
 String getMessageText()
          Get the message in current locale, no prefix.
 String getMessageText(Locale l)
          Get the message in specified locale, no prefix.
 String log()
          Log the message.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Loggable

public Loggable(String id,
                Object[] args)
Creates an object that can be logged to the server log.

Method Detail

getId

public String getId()
Get the message id.


getMessage

public String getMessage()
Get the message in current locale with [subsytem:id] prefix.


getMessage

public String getMessage(Locale l)
Get the message in specified locale with [subsytem:id] prefix.


getMessageText

public String getMessageText()
Get the message in current locale, no prefix.


getMessageText

public String getMessageText(Locale l)
Get the message in specified locale, no prefix.


log

public String log()
Log the message.


Documentation is available at
http://download.oracle.com/docs/cd/E13222_01/wls/docs90
Copyright 2005 BEA Systems Inc.