Skip Headers
Oracle® Fusion Middleware Using Logging Services for Application Logging for Oracle WebLogic Server
12c Release 1 (12.1.1)

Part Number E24419-02
Go to Documentation Home
Home
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

B Loggable Object Reference for WebLogic Server

This appendix describes loggable objects, which are used for generating log messages that are logged at a later time.

This appendix includes the following sections:

About Loggable Objects

By default, all log message catalogs create Logger classes with methods that are used to log the messages to the WebLogic server log. The Logger classes can optionally include methods that return a loggable object instead of logging the message. Loggable objects are useful when you want to generate the log message but actually log it at a later time. They are also useful if you want to use the message text for other purposes, such as throwing an exception.

How To Use Loggable Objects

To create a Logger class that provides methods to return loggable objects, you must set the loggables attribute in the message catalog.

For example, consider the test.xml catalog shown in Example B-1.

Example B-1 test.xml Message Catalog

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE message_catalog PUBLIC "weblogic-message-catalog-dtd" "http://www.bea.com/servers/wls90/dtd/msgcat.dtd">
<message_catalog
   subsystem="Examples"
   version="1.0"
   baseid="500000"
   endid="500001"
   loggables="true"
   >
   <logmessage
      messageid="500000"
      severity="error"
      method="logIOError(Throwable t)"
      >
      <messagebody>
         IO failure detected. 
      </messagebody>
      <messagedetail>
      </messagedetail>
      <cause>
      </cause>
      <action>
      </action>
   </logmessage>
</message_catalog>

When you run this catalog through the weblogic.i18ngen utility, a Logger class is created for this catalog with the following two methods:

The loggable object can be used as shown in Example B-2.

Example B-2 Example of Use of Loggable Object

package test;
import weblogic.logging.Loggable;
import weblogic.i18n.testLogger;
...
try {
  // some IO
} catch (IOException ioe) {
  Loggable l = testLogger.logIOErrorLoggable(ioe);
  l.log();  // log the error
  throw new Exception(l.getMessage());//throw new exception with
         same text as logged
}