4 Configuring AXF Settings

Most AXF configuration is completed as part of Oracle WebCenter Content installation. This chapter describes how to configure additional AXF settings. It covers the following topics:

4.1 Configuring Logging

This section covers the following topics:

4.1.1 Configuring Logging for AXF for BPM

This section describes AXF for BPM logging through Enterprise Manager and configuring DMS logging.

Table 4-1 lists the loggers you can configure, which include base, customization, and performance loggers. For advanced configuration, see Section 4.1.1.1.

Table 4-1 AXF Loggers

Logger Description

oracle.ecm.axf

This base AXF logger provides a highly detailed log for AXF system diagnostics. It also includes information for tracing execution and exceptions for the product.

oracle.ecm.axf.performance

This AXF performance logger provides a detailed log that corresponds to DMS metrics, for determining the overall performance of the system or isolating specific performance based test cases. See Section 4.1.1.2.


The base AXF logger inherits its logging level from the Oracle parent logger, which by default is configured to use the NOTIFICATION level of logging. The customization and performance loggers inherit their logging level from the base AXF logger. The NOTIFICATION configuration logs warning and error messages out to the console only. (See Table 4-4 for additional information.) To increase the level of logging and increase the console logging detail, adjust the level through the Enterprise Manager console, shown in Figure 4-1.

Figure 4-1 Enterprise Manager Console Log Configuration

Description of Figure 4-1 follows
Description of "Figure 4-1 Enterprise Manager Console Log Configuration"

4.1.1.1 Advanced Configuration

To examine specific behavior on an AXF for BPM system, you may need to capture more detailed information than that provided by logging to the console. This section describes steps for advanced configuration, which involves defining one or more log handlers and loggers through the logging.xml files on the server. Each server has a logging.xml file set up under the Oracle domain, located in the following directory:

Oracle/Middleware/user_projects/domains/<domain name>/config/fmwconfig/servers/<server> directory
  1. Edit the logging.xml file and define two log handlers (log_handler) and two loggers (logger). This enables you to handle the output from the two loggers independently and use the corresponding log handler to route the output to a separate and unique log file. Define the log handlers under the log_handlers tag, using the properties listed in Table 4-2 and referring to Example 4-1.

    Table 4-2 Log Handler Properties

    Property Description

    path

    Defines the server location at which to store the logging.

    maxFileSize

    Specifies the maximum size in bytes for each log file. When the main log file reaches the given size, it triggers a log rotation, where the main log file is archived and a new log file is created.

    maxLogSize

    Specifies the maximum size in bytes for the entire log. Older archive files are deleted to keep the total log size under the given limit.


    Example 4-1 Logging.xml File With Log Handler Modifications

    <log_handler name='axf-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory' level='ALL'>
       <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/axf.log'/>
       <property name='maxFileSize' value='5485760'/>
       <property name='maxLogSize' value='54857600'/>
      </log_handler>
    <log_handler name='axf-handler-performance' class='oracle.core.ojdl.logging.ODLHandlerFactory' level='ALL'>
       <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/axf_performance.log'/>
       <property name='maxFileSize' value='5485760'/>
       <property name='maxLogSize' value='54857600'/>
      </log_handler>
    
  2. Similar to defining log handlers, define three loggers (logger), one for each logger defined in the AXF application and visible through the Enterprise Manager console. This enables you to configure the level of logging for each of the loggers independently and specify which log handler to use for output. Define the loggers under the loggers tag, using the properties listed in Table 4-3 and referring to Example 4-2.

    Table 4-3 Logger Properties

    Property Description

    name

    The logger name defined in the application. AXF include these loggers: oracle.ecm.axf, oracle.ecm.axf.performance, and oracle.ecm.axf.customization.

    level

    The level at which to log information. See Table 4-4 below for additional information.

    useParentHandlers

    Set to true to inherit level from parent and false to use the specified level.


    Example 4-2 Logging.xml File With Logger Modifications

      <logger name='oracle.ecm.axf' level='TRACE:32' useParentHandlers='false'>
       <handler name='axf-handler'/>
       <handler name='console-handler'/>
      </logger>
      <logger name='oracle.ecm.axf.performance' level='TRACE:32' useParentHandlers='false'>
       <handler name='axf-handler-performance'/>
       <handler name='console-handler'/>
      </logger>
    
  3. After defining and saving the loggers and log handlers, log files automatically begin filling with logging as defined in the logger level attribute. You can also change the levels through the Enterprise Manager console to isolate a particular log where detail is required and minimize logging to the rest to reduce server performance impacts. Acceptable values for logging levels are listed in Table 4-4.

    Table 4-4 Logging Levels

    Message Type/Logger Level Description

    ERROR

    A serious problem that requires immediate attention from the System Administrator.

    WARNING

    A potential problem that the System Administrator should review.

    NOTIFICATION

    A major lifecycle event.

    TRACE

    Trace or debug information.

    UNKNOWN

    May be used when the type is unknown.


4.1.1.2 Configuring DMS Logging

The Oracle Dynamic Monitoring Service (DMS) is the Oracle standard for diagnosing application performance. As part of the Oracle standard, the DMS logging should always be on. AXF handles DMS logging with these goals in mind:

  • The need to properly gauge performance of AXF requires the ability to break out time spent in external product.

  • The need to have a log for correlating DMS metrics to a timing call stack metric in order to facilitate breaking down a performance issue to a specific area of the product.

The metric tables listed in Table 4-5 are used to help break down performance based on the type of actions being performed.

Table 4-5 DMS Logging

Metric Table Description

AXF

Records timing statistics on AXF API operations. Statistics are recorded on a per service operation basis.

AXF_Business Rules

Records timing statistics for interaction with SOA Business Rules.

AXF_HumanTasks

Records timing statistics for interaction with SOA Human Tasks.


As part of the instrumentation of the AXF product, a special logger, oracle.ecm.axf.performance, facilitates the correlation of DMS data and general execution stack tracing. The AXF_Performance.log is configurable based on standard Java and Oracle practices through Enterprise Manager. See Section 4.1.1.1 for an example on configuring the logs.

4.1.1.2.1 Clearing DMS Logging

When isolating particular use cases, it is helpful to clear the DMS logging. Clear DMS logging from the AXF Command Driver page by clicking the Reset DMS Metrics button.

4.1.2 Configuring Logging for AXF for BPEL

You can configure logging using either of these methods:

4.1.2.1 Using Enterprise Manager

To use the web interface to set up loggers, navigate to the Log Configuration page in Enterprise Manager. For example, select the server in the side pane, right-click, and choose Logging, then Configure Logging. For more information, see the Oracle Enterprise Manager documentation.

This graphic is discussed in surrounding text.
Description of the illustration logging_em.gif

4.1.2.2 Using Application Server

Use the AXF logs to isolate issues in solution configuration. By default, some AXF logging automatically occurs as part of Application Server logging. Follow these steps to configure more detailed and separate AXF logging.

  1. Add a log handler to the Application Server configuration. Add the handler inside the <log_handlers> tag in the logging.xml file, at the following location:

    DOMAIN/config/fmwconfig/servers/SERVER/logging.xml

    An example location follows:

    base_domain/config/fmwconfig/servers/IPM_Server1/logging.xml

    <log_handler name='axf-handler' level='ALL' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
       <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/axf.log'/>
       <property name='maxFileSize' value='5485760'/>
       <property name='maxLogSize' value='54857600'/> 
       <property name='encoding' value='UTF-8'/>
    </log_handler>
    
  2. Add a logger to the logging.xml file and set the level from the Log Levels (ODL Message Types) listed in Table 4-6. You can set the logging level in the XML file or using Enterprise Manager.

    <logger name='oracle.imaging.axf' level='TRACE:32' useParentHandlers='false'>
         <handler name='axf-handler'/>
         <handler name='console-handler'/>
    </logger>
    

    Note:

    Remove the console-handler tag to omit logging on the terminal.

  3. Table 4-6 Available Logging Levels

    Log Type Description Log Level (ODL Message Type)

    NULL

    The logger inherits the log level set for its parent.

    n/a

    SEVERE

    Log system errors requiring attention from the system administrator.

    ERROR:1

    WARNING

    Log actions or conditions discovered that should be reviewed and may require action before an error occurs.

    WARNING:1

    INFO

    Log normal actions or events. This could be a user operation, such as login completed, or an automatic operation, such as a log file rotation.

    NOTIFICATION:1

    CONFIG

    Log configuration-related messages or problems.

    NOTIFICATION:16

    FINE

    Log trace or debug messages used for debugging or performance monitoring. Typically contains detailed event data.

    TRACE:1

    FINER

    Log fairly detailed trace or debug messages.

    TRACE:16

    FINEST

    Log highly detailed trace or debug messages.

    TRACE:32


  4. If using Windows, restart Administration Server if it is running. The logger displays in Enterprise Manager. You can change the logging level at run time.

4.2 Configuring Coherence

If your installation uses Coherence for caching (a requirement for high-availability environments), four separate caches are set up: one each for Namespaces, Property Definitions, Property Set Definitions, and Property Sets. This default caching configuration works out of the box with Coherence defaults.

To configure an optional Coherence configuration that is optimized for AXF, refer to the sample axf-cache-config.xml configuration file below, which shows how to configure simple Coherence caches. For more advanced cache types, refer to the Coherence documentation. Note that configuring Coherence as described below is recommended, but not required.

<?xml version="1.0"?>
<!-- File: coherence-cache-config.xml -->
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config http://xmlns.oracle.com/coherence/coherence-cache-config/1.0/coherence-cache-config.xsd">

<!-- Prefix all service names to ensure no unintended clustering with other cache servers -->
<scope-name>com.oracle.ecm.axf</scope-name>

<defaults>
<serializer>pof</serializer>
</defaults>

<caching-scheme-mapping>
<!-- Specific cache mappings to avoid configuration errors -->

<!--
Cache limits are set per cache per node, so the total limit is the sum of all the cache limits on this node.

As there are 3 caches the storage will be a maximum of 3 x 100MB = 300MB,
in addition to 3 x 5MB = 15MB of near cache for clients.
-->
<cache-mapping>
<cache-name>AXF</cache-name>
<scheme-name>CustomNearCacheScheme</scheme-name>
</cache-mapping>
<cache-mapping>
<cache-name>AXF_CONVERSATION</cache-name>
<scheme-name>CustomNearCacheScheme</scheme-name>
</cache-mapping>
<cache-mapping>
<cache-name>AXF_EVENT</cache-name>
<scheme-name>CustomNearCacheScheme</scheme-name>
</cache-mapping>
</caching-scheme-mapping>

<caching-schemes>
<near-scheme>
<scheme-name>CustomNearCacheScheme</scheme-name>
<front-scheme>
<local-scheme>
<scheme-ref>SizeLimitedLocalScheme</scheme-ref>
</local-scheme>
</front-scheme>
<back-scheme>
<distributed-scheme>
<scheme-name>CustomDistributedCacheScheme</scheme-name>
<backing-map-scheme>
<local-scheme>
<scheme-name>SizeLimitedLocalScheme</scheme-name>
<eviction-policy>HYBRID</eviction-policy>
<!-- 100M -->
<high-units>100</high-units>
<unit-calculator>BINARY</unit-calculator>
<unit-factor>1048576</unit-factor>
<expiry-delay>4h</expiry-delay>
</local-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</back-scheme>
<invalidation-strategy>present</invalidation-strategy>
</near-scheme>

<local-scheme>
<scheme-name>SizeLimitedLocalScheme</scheme-name>
<eviction-policy>HYBRID</eviction-policy>
<!-- 5M -->
<high-units>5</high-units>
<unit-calculator>BINARY</unit-calculator>
<unit-factor>1048576</unit-factor>
<expiry-delay>4h</expiry-delay>
<cachestore-scheme></cachestore-scheme>
</local-scheme>
</caching-schemes>
</cache-config>