Oracle Fusion Middleware
Java API Reference for Oracle WebLogic Server
12c (12.1.3)

Part Number E41849-02

weblogic.i18n.logging
Class Loggable

java.lang.Object
  extended by weblogic.i18n.logging.Loggable
Direct Known Subclasses:
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
 
 


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 getMessageBody()
          Gets the contents of the message body without appending a stack trace.
 String getMessageText()
          Get the message in current locale, no prefix.
 String getMessageText(Locale l)
          Get the message in specified locale, no prefix.
static boolean isAppendStackTraceEnabled()
           
 String log()
          Log the message.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

log

public String log()
Log the message.


getMessageBody

public String getMessageBody()
Gets the contents of the message body without appending a stack trace. This is particularly useful when using the value of a loggables message as the value when creating an exception.


isAppendStackTraceEnabled

public static boolean isAppendStackTraceEnabled()

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.


getId

public String getId()
Get the message id.


Copyright 1996, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Fusion Middleware
Java API Reference for Oracle WebLogic Server
12c (12.1.3)

Part Number E41849-02