ABL trace logging
- Last Updated: August 26, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
ABL trace logging
4GLTrace) log
entry type turns on logging for the execution of: - internal procedures
- external procedures
- user-defined functions
- persistent triggers
- database triggers
- named events
- class events (generated by the
RUN,FUNCTION,PUBLISH, andSUBSCRIBEstatements, and (for class events) by thePublish( ),Subscribe( ), andUnsubscribe( )event methods, respectively). Class events can also include subscribing and unsubscribing handlers for .NET events and publishing ABL implementations of inherited .NET abstract events.
- the instantiation of classes
- the execution of constructors (invoked by the
NEWphrase and also by theSUPERandTHIS-OBJECTstatements) - the execution of methods defined within classes (including those invoked using the
SUPERsystem reference) - the execution of property accessor methods (invoked by accessing a property of a class)
- the execution of destructors (invoked by executing the
DELETE OBJECTstatement)
ABL trace logging is available on all ABL clients including GUI clients,
character clients, and AppServer agents. Log entries generated for this type contain the tag
4GLTrace.
ABL trace logging logs an entry message when execution begins. Entry messages are logged at Level 2 (Basic) and higher. ABL trace logging also logs a return message to indicate when the application returned. Return messages are logged at Level 3 (Verbose) and higher.
Syntax
The general format for ABL trace log messages is:
|
- type
- The log message entry type. The following table lists the log message entry types.
| Type | Description |
|---|---|
| Delete | Deleting class instances |
| Function | Invoking user-defined functions |
| Invoke | Invoking methods |
| New | Instantiating classes |
| Publish | Publishing both named and class events |
| Run | Running procedures |
| Subscribe | Subscribing handlers for both named and class events |
| Super | Invoking super class methods |
| Trigger | Running database triggers |
| Unsubscribe | Unsubscribing handlers for class events only |
- routine-name
-
Procedure or function name being executed. For classes, this is the name of the class being instantiated or destroyed, or the name of the invoked method.
- PERS TRIG
- Indicates that the procedure runs as a result of a persistent trigger. In this case, this is the only piece of information in the log entry after the routine-name.
- in routine-name
- For procedures, logs the calling routine-name. For example,
RUN xx in yystatement, logs yy as the routine-name. For functions and methods, logs the function or method when the function or method is not located in the caller procedure or class. - PERSIST
- Indicates the
RUNstatement has thePERSISTENTclause. - input-param
- List of input and input-output parameters, each separated by a single space.
- caller
- Indicates where the call to the statement or function is:
Mainblock,SYSTEM-TRIGGER, or the name of an internal procedure, function, or method. - source
- Indicates the name of the procedure or class containing the caller.
- @ line-number
- Indicates the line number at which the procedure routine-name is
executed by the caller routine. When implicitly invoking the constructor
of the super class, this is the string
IMPLICIT.
For example:
|
|
|
Syntax
The general format for ABL trace log return messages is:
|
- routine-name
- Name of internal procedure, function, method, user-interface trigger,
PUBLISHstatement, orMain Block. - output-param
- List of
OUTPUT,INPUT-OUTPUT, andRETURNparameters. - program-name
- Name of the program containing the called procedure.
|
The return message includes the STOP or ERROR tag in
cases where one of those conditions is raised during execution.