Configure ABL application agent logging
- Last Updated: August 19, 2021
- 2 minute read
- OpenEdge
- Version 12.2
- Documentation
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. |
- If the message only comes from the internal multi-session agent code then
the request ID output appears as
?:?:?ormtapsv:-:?. - If the message comes from the deferred log buffer, then the request ID
output appears as
-:-:-followed by theDFRDcomponent message. - When a message is output during execution of code from a transport
request, then the
OERequestInfoclass is available and the expected values are provided for web application, transport, and request ID.
ABL application agent log file output description
|
| 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 .
-
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 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.
|
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.
|
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.