The OpenEdge 12 series of releases updates the way the ABL application and ABL web application logging is configured from previous releases of OpenEdge. In OpenEdge 12, ABL application logging is configured through the logging-ablapp.xml file.

Prior to OpenEdge 12, package-level application logging was configured per each ABL web application that is deployed to instance-name/webapps/ directory, through the instance-name/webapps/webapp-name/WEB-INF/logging.xml file. This did not produce a common log output to the ABL application log file (instance-name/logs/ablapp_name.date.log), and made troubleshooting difficult.

In the OpenEdge 12 releases, the package-level application logging configuration still initializes from each deployed OpenEdge web application’s WEB-INF/logging.xml file. However, this logging.xml file acts only as a bootstrap loader, which loads other logging configuration and property files that are common for the entire ABL application. You do not edit the bootstrap loader WEB-INF/logging.xml file for an ABL web application.

To enable ABL application package-level logging for a specific ABL application hosted on the instance, modify the instance-name/ablapps/ablapp-name/conf/logging-ablapp.xml file. Uncomment all of the packages that you want to generate logging information about, and specify the logging level.

The package-level application logging information is printed to the instance-name/logs/ablapp_name.date.log file for each enabled ABL application.

The logging.xml file in OpenEdge 12

The instance-name/webapps/webapp-name/WEB-INF/logging.xml loads the instance-name/conf/logging-pasoe.properties file that contains shared logging properties for all deployed ABL applications. Logging properties consist of the output file format, the output filename format, and more. You can edit theinstance-name/conf/logging-pasoe.properties to change the default log file naming format, the frequency of how often the log files are rolled, and log file entry format.

The instance-name/webapps/webapp-name/WEB-INF/logging.xml bootstrap then loads the instance-name/conf/logging-oeabl.xml configuration, which holds information common to all deployed OpenEdge ABL web applications (that is, web applications derived from oeabl.war located in the instance-name/webapps directory). The information inside of logging-oeabl.xml uses properties from instance-name/conf/logging-pasoe.properties to ensure that log files and their contents are consistent across the instance. You do not edit the conf/logging-oeabl.xml file.

The conf/logging-oeabl.xml configuration file then loads the ABL application-specific logging directives from the instance-name/ablapps/ablapp-name/conf/logging-ablapp.xml file. The logging-ablapp.xml file is where you choose which OpenEdge packages should produce logging output and at what level of granularity.

In OpenEdge 12, there is one logging configuration for the entire ABL application, regardless of how many OpenEdge ABL web applications are deployed to it. This one logging configuration ensures that you cannot misconfigure any one OpenEdge web application's WEB-INF/logging.xml file, and corrupt your ABL application’s log files. You do edit the ABL application’s instance-name/ablapps/ablapp-name/conf/logging-ablapp.xml file.

The WEB-INF/logging.xml then loads the instance-name/conf/logging-security.xml configuration for generating the ABL application’s authentication and authorization logs. Again, this is a common configuration so that all ABL application’s security log file names and contents are consistent across all deployed ABL applications. You do not edit the conf/logging-security.xml configuration file. If you want to adjust the logging filename or log entry formats, then use theinstance-name/conf/logging-pasoe.properties configuration properties.