The PAS for OpenEdge ABL application agent log file (abl_app.agent.{yyyy-mm-dd}.log) uses the OpenEdge Logger framework, rather than the Java-based Logback framework utilized by the other Tomcat and PAS for OpenEdge application log files. The ABL application agent log file records the activity of a multi-session agent.

The ABL application agent log filename and path are specified in the agentLogFile property in instance-name/conf/openedge.properties.

Configure ABL application agent log output

The ABL application agent log file has limited control over the log file output. You can select enhanced or classic logging using the ENHLOGGINGOPTS environment variable specified in instance-name/bin/openedge_setenv.[sh|bat]. The default is enhanced logging.

The enhanced logging format supports compressed output format, client request ID logging, and ISO date-time formats while the classic logging format does not.

The value of the ENHLOGGINGOPTS can be set to one of the following configuration options:

Value Behavior
undefined Removing or commenting out the ENHLOGGINGOPTS=; export ENHLOGGINGOPTS statement enables classic logging behavior.
blank The default formatting behavior is ED .
D Formats date-time information using the ISO date-time standard. This value is ignored if classic logging is configured.
d Formats date-time information using the classic logging format.
E Operates in enhanced logging mode.
e Operates in classic logging mode.
Note:
  • If the message only comes from the internal multi-session agent code then the request ID output appears as ?:?:? or mtapsv:-:? .
  • If the message comes from the deferred log buffer, then the request ID output appears as -:-:- followed by the DFRD component message.
  • When a message is output during execution of code from a transport request, then the OERequestInfo class is available and the expected values are provided for web application, transport, and request ID.

ABL application agent log file output description

The ABL application agent log file output begins when a multi-session agent starts with the following entry:

         2019-08-23T10:55:16.650-0400 011476 027348 1 AS-Aux-0 mtapsv:-:? MSAS Agent 
Starting Up -- Progress OpenEdge Release 12.1.
        
An ABL application agent log entry is comprised of eight standard components (more when deferred logging is enabled). For example:
Log entry timestamp Process ID Thread ID Logging level ABL session Request ID Module or component writing the message Log message
Examples 2019-08-23T10:55: 16.650-0400 011476 027348 1 AS-Aux-0 mtapsv:-:? MSAS Agent Starting Up -- Progress OpenEdge Release 12.1.
2019-08-23T10:59: 16.831-0400 011476 012512 1 AS-7 ROOT:w: 00000001 LogMgrWrtr [OE.W.DO.I ServiceRegistry INFO] Service "dataService v1.0.0" registered
2019-08-23T11:12: 48.195-0400 011476 028508 2 DFRD -:-:- DFRD Deferred log start

The Request ID is in the format webapp:transport:requestID . The requestID value is a left-padded hex. For example, ROOT:w:0000000a .

The transport in the Request ID is identified by the following abbreviations:
  • w —WEB transport
  • r —REST transport
  • a —APSV transport
  • s —SOAP transport
  • f —Static file

The ABL application agent log file also contains entries from internal ABL sessions and threads that do not correspond to actual PAS for OpenEdge client requests in log entry column where Request ID is found. The following special Request ID values are used to denote logging entries that originate from the multi-session agent run-time:

Request ID Description
mtapsv:-:? The ABL session assigned to the client request is initializating.
  • The request originator is mtapsv .
  • The transport is - (n/a).
  • The client message number is ? (unknown).
?:?:? The agent received a client request for processing, but a client request was not passed to the agent. The request continues to execute but without client request tracking.
  • The request originator is ? (unknown)
  • The transport is ? (unknown)
  • The client message number is ? (unknown)

ABL application agent deffered log file output description

Deferred logging is a special in-memory buffer that prints to the ABL application agent log file when an agent crashes or when it is invoked via the flushDeferredLog API. For more information, see Use deferred logging in PAS for OpenEdge.

When the deferred logging buffer is invoked, it prints the following message to the ABL application agent log file:

         2019-08-23T11:12:48.195-0400 011476 028508 2 DFRD -:-:- DFRD Deferred log start
        

This entry is followed by the deferred logging buffer which can be configured to print debug-level 4GLTrace information. This logging level provides a closer look at the ABL application agent processes.