Try OpenEdge Now
skip to main content
Startup Command and Parameter Reference
Startup Parameter Descriptions : Client Logging (-clientlog)
 

Client Logging (-clientlog)

Use Client Logging (-clientlog) to allow an application to automatically write error and warning messages to the specified log file.
Operating system and syntax
UNIX / Windows
-clientlog filename
Use with
Maximum value
Minimum value
Single-user default
Multi-user default
Client Session
filename
The pathname and filename of the log file OpenEdge uses for messages, ABL stack trace, and .NET stack trace information.
If the filename you supply is a relative pathname, then a file is accessed relative to the current working directory. If the filename is an absolute pathname, then the specified file is accessed.
Note: Do not include a numbered sequence in the filename. This might conflict with the rolled over log files OpenEdge creates based on your Number of Log Files to Keep (-numlogfiles) and LogThreshold (-logthreshold) startup parameter settings.
Use the LogEntry Types (-logentrytypes) startup parameter to specify one or more types of log entries you want to write to the log file. Use the LoggingLevel (-logginglevel) startup parameter to specify the level at which log entries are written to the log file.
When you use the -clientlog startup parameter, and you also specify the DebugAlert (-debugalert) startup parameter or set SESSION:DEBUG-ALERT to TRUE, the log file includes an ABL stack trace for error messages (ABL errors and .NET Exceptions) and Alert-box messages. The top of the stack (most recent call) is displayed at the top of the trace listing.
.NET Exceptions can be thrown when working with .NET objects in ABL. When you do not handle these Exceptions—there is no CATCH or NO-ERROR logic present—and Debug Alert is on, the AVM adds the .NET stack trace to the Debug Alert information after the ABL call stack. The ABL stack trace and the .NET stack trace are added both in the Debug Alert Help dialog box and in the client log (when -clientlog is specified).
If an error message is diverted to the ERROR-STATUS system handle, and client logging is enabled, then no information is written to the log file.
In a non-interactive session, the application is configured so that the output device is associated with a file (or another device). In this configuration, when an ABL statement encounters an error, it writes the error to the output device. If client logging is enabled, then this message is also written to the specified log file. Errors are written to the output device at logging level 1 (Error) and up.
You can use the MESSAGE statement with the VIEW-AS ALERT-BOX option to write application specific information to the screen and the log file. In this case, you must specify an entry type of "4GLMessages" and a logging level of 2 (Basic), at least.
Note: When you specify a non-zero value for the LogThreshold (-logthreshold) startup parameter, only one client process at a time can open the log file. Therefore, consider specifying a different log file for each client session.
For more information about logging levels, see the LogEntry Types (-logentrytypes) startup parameter reference entry. For more information about specifying log entry types, see the LogEntry Types (-logentrytypes) startup parameter reference entry. For more information about -dslog startup parameter, refer to the DataServerLogging (-dslog).
You can use attributes on the LOG-MANAGER system handle to specify log entry types and logging levels in the client context. You can also use attributes on the DSLOG-MANAGER system handle to specify log entry types and logging levels in the server context.
For more information about the ABL elements previously referenced above, see OpenEdge Development: ABL Reference.
For more detailed information about enabling logging, see OpenEdge Development: Debugging and Troubleshooting.