Use deferred logging in PAS for OpenEdge
- Last Updated: February 11, 2026
- 3 minute read
- OpenEdge
- Version 13.0
- Documentation
Deferred logging in PAS for OpenEdge opens an in-memory buffer to record
information immediately preceding a multi-session agent crash. It also lets system
administrators run an on-demand monitoring check on the instance. The in-memory buffer
is configured independently from the agent log and automatically creates a pasoe-agent-crash-trace-process-id file in the event of a failure or when it is called through an
API.
Additionally, a system administrator or DevOps engineer can use a REST or JMX API to dump the in-memory buffer to the agent log file for close monitoring of a production system.
The following video introduces deferred logging in PAS for OpenEdge:
The deferred logging is set in the openedge.properties file.There are three properties that allow system
administrators to control how much in-memory logging information is stored: defrdLogNumLines, defrdLoggingLevel, defrdLogEntryTypes.
The deferred logging buffer is enabled if all three properties are set to a non-zero
value.
Deferred logging keeps a separate memory buffer from the regular agent logging. Deferred logging can be set to record different log entry types and to record at different logging levels. A separate memory buffer can help keep the regular agent log to a minimal size, while providing another type of logging for reconstructing agent crashes or monitoring the application without affecting performance.
For example, if you ran 200 sessions on each agent and ran multiple agents, it would require thousands of buffer lines to capture all the debugging information. This circumstance would create a log file that would be difficult to parse and could affect performance. Deferred logging allows you to create a separate logging buffer that saves only the specified number of log number lines and log entry types. This gives a higher logging level only immediately preceding an agent crash or when it is invoked through the API. Deferred logging allows for only the context of the crash to display, while allowing the regular agent log to print other messages or at a lower logging level.
- Use the OEPROP utility to specify the number of lines to be
saved in the deferred logging buffer:
oeprop.{bat|sh} AppServer.SessMgr.defrdLogNumLines=500There are two types of log entries that can be written to the buffer: Unconditional entries, including start-up and error events, and conditional entries, based on the logging level and startup type. The unconditional entries use some lines specified with this property. The default value is 0, which disables the feature.
- Use the OEPROP utility to specify the logging level of the
deferred logging buffer:
oeprop.{bat|sh} AppServer.SessMgr.defrdLoggingLevel=4You could use the deferred logging buffer to act as a stack trace preceding crash events, or set it to record a separate log entry type from the agent log. If this property is set to 0, then no deferred log file buffer is written to the agent log file.
- Use the OEPROP utility to specify deferred log entry type:
oeprop.{bat|sh} AppServer.SessMgr.defrdLogEntryTypes=4GLTraceThe default is the4GLTracelog entry type. The following agent log entry types are supported for deferred logging:4GLTraceASPlumbingDB.Connects
Note: Deferred logging does not currently support all log entry types that can be configured for the PAS for OpenEdge agent. If deferred logging is turned on, and an unsupported log entry type is specified in thedeferredLogEntryTypesproperty, log messages for the unsupported log entry type will be written to the agent log file. At present,DYNOBJECTis not supported for deferred logging. - When a severe error occurs on a multi-session agent, the multi-session agent
initiates a graceful shutdown of itself to avoid further failures. Along with
updating the Syslog (UNIX) or Eventslog (Windows) file and generating the
Protrace, the shutdown process also creates a new file,
pasoe-agent-crash-trace-process-id. For more information, see Multi-Session agent initiated graceful shutdown.Alternatively, you can invoke an API to print the deferred logging buffer to the agent log file or clear the deferred log buffer. For more information, see:- REST APIs: Flush deferred log buffer to agent log file and Reset deferred log buffer in PAS for OpenEdge Administration Tools Reference.
- OEJMX queries: Flush deferred log buffer to agent log file query and Reset deferred log buffer query in PAS for OpenEdge Administration Tools Reference.