Skip to main content

Enactor Logs

Introduction

This guide will describe the numerous logs that are created by the Enactor suite of applications and will provide guidance for configuring logging for specific cases.

Overview

This guide will cover the following:

  • Description of the different types of logging in Enactor

  • Locations of logs across different devices

  • Configuration of log property files to include increasing and decreasing the level of detail included in each log and switching on logging for specific scenarios.

**Prior Training / Experience **

You should be familiar with the following:

  • Editing configuration files

Enactor Logging

This section will be divided by device type and will cover the POS, the PDP Server, the Store Server, and the Estate Manager.

POS Logging

POS logs are generated in the <Enactor home>/logs directory.

The two most important logs are pos.log and common.log

pos.log

Pos.log is generated by the POS application and can be used for troubleshooting any issues seen on the POS UI (e.g., if a system error message is displayed on the POS, a corresponding log entry will be written to pos.log)

Configuration settings for pos.log can be found in <Enactor home>/pos/config/enactor-pos.log.properties

common.log

Common.log is generated by the Enactor POS Services, which run as a Windows service. This log can be used for diagnosing issues with any background processing (e.g., receiving broadcasts or document processing)

Configuration settings for common.log can be found in <Enactor home>/pos/config/ enactor.log.properties

PDP Server Logging

PDP logs are generated in the <Enactor home>/logs directory.

The two most important logs are listener.log and common.log

Listener.log

Listener.log is generated by the Enactor PDP Listener Windows service and can be used for troubleshooting any issues seen on the POS UI (e.g., if a system error message is displayed on a mobile client device, a corresponding log entry will be written to listener.log)

Configuration settings for listener.log can be found in <Enactor home>/pdpServer/config/ enactor-pdp-server.log.properties

Common.log

Common.log is generated by the Enactor PDP Services, which run as a Windows service. This log can be used for diagnosing issues with any background processing (e.g., receiving broadcasts or document processing)

Configuration settings for common.log can be found in <Enactor home>/pdpServer/config/ enactor.log.properties

Store Server Logging

Enactor Logs

Numerous Enactor logs are generated on the Store Server.

Before looking at the logs, it's useful to have a basic understanding of how the Store Server application is structured.

When a Store Server is built, an instance of Apache Tomcat is installed and numerous web applications are deployed in four separate WAR files, as described below:

Web Core - Contains the services that should be deployed on every tier of the Enactor Estate

Web Reports - Responsible for generating reports on the Store Server

Web Store Management - Provides the Store Server UI

Web Store Processing - Provides processing services for the Store Server

Each of these web applications generates its own log - all logs are written to <Enactor home>\storeServer\logs.

Web-core.log

Web-core.log is generated by the Enactor Web Core application and can be used for troubleshooting any issues with the Enactor core services.

Configuration settings for web-core.log can be found in <Enactor home>/storeServer/config/enactor-web-core.log.properties.

Web-reports.log

Web-reports.log is generated by the Enactor Web Reports application and can be used for troubleshooting report issues.

Configuration settings for web-reports.log can be found in <Enactor home>/storeServer/config/enactor-web-reports.log.properties.

Web-store-management.log

Web-store-management.log is generated by the Enactor Web Store Management application. This log can be used for diagnosing issues with the numerous applications contained within the Store Server web UI.

Configuration settings for web-store-management.log can be found in <Enactor home>/storeServer/config/ enactor-web-store-management.log.properties.

Web-store-processing.log

Web-store-processing.log is generated by the Enactor Web Store Processing application. This log can be used for diagnosing issues with background processing (e.g. receiving broadcasts or document processing).

Configuration settings for processing.log can be found in <Enactor home>/storeServer/config/enactor-web-store-processing.log.properties.

Apache Tomcat Logs

In addition to the logs written by the Enactor application, numerous logs are written by the Apache Tomcat web server. Enactor configures Apache Tomcat so these logs are also written to <Enactor home>\storeServer\logs.

Further information about Tomcat logging can be found at the following link

Estate Manager Logging

The Enactor Estate Manager provides several logging applications within the UI. These can be found at the following path - Administration > Logs.

Activity Log

The Activity Log provides a full audit trail of any changes made in the Enactor Estate Manager.

To filter the entries listed enter values for the following fields and select Apply Filters:

PropertyDescription
Start DateBeginning of a date range selection.
End DateEnd of a date range selection.
Entry TypeDropdown selection from a fixed list i.e. Data operations Add, Update, or Delete or logged Activities of Other types.
Entity NameSelects for Activity pertaining to a specific Entity.
User IDSelects for Activity conducted by a specific User.
Change SetDropdown list selection of defined Change Sets. Selects for Activity conducted in the specific Change Set.
Activity Log Entry - General Tab View

Using the icons in the left column of the Select page, which are available as appropriate for each entry, the user can examine the individual Entries. For all entries the View option () provides access to an Activity Log entry viewing page.

For Entries that record Data Operations the View page provides access to before and after images of the entity as described following. The Activity Log entry also provides access to the Web Maintenance page for the relevant Entity to view either the pre-update or post-update state of the instance using the respective () or () Icons.

For Other operations the Details Tab for the entry provides details of the operation performed. In these cases, the View option () also provides a Raw XML Function viewing Tab as described following.

Activity Log Entry - XML Before and After Action Tab View

For entries that record Data Operations (Add, Update, or Delete) the View page contains XML format before and after versions of the Entity instance in separate Tabs of the page. These XML representations of the instance may be extracted (by copy/paste) into text files for precise comparison or the pre-update image of an Update or deletion may be applied in the File Import facility of Web Maintenance to restore the instance (available at Administration>Data Management).

For Other operations the Function XML Tab of the Activity Log View page provides access to an XML representation of the Log Entry created by the Activity function, which may be a transaction, Message Queue entry or XML formatted logging details created by the activity function.

Application Log

The Application Log provides a UI for all the logs generated by the various web applications that make up the Estate Manager.

Selecting the Log Context Name drop-down gives a list of the available logs

After a log is selected, it can be viewed in the Application Log UI.

In cases where an error and stack trace has been generated, a binocular icon is displayed next to the error - selecting this allows the user to view the stack trace in full.

It is possible to download and view the 'raw' log by selecting the Save Log File button, then opening the file in a log viewer or text editor.

The Estate Manager is structured in a very similar way to the Store Server as described earlier. The logs described below are most likely to be of interest in diagnosing issues.

Estate Manager Enactor Web Core

The Estate Manager Enactor Web Core log is generated by the Enactor Web Core application and can be used for troubleshooting any issues with the Enactor core services.

Estate Manager Enactor Web Reports

The Estate Manager Enactor Web Reports log is generated by the Enactor Web Reports application and can be used for troubleshooting report issues.

Estate Manager Enactor Web Maintenance

The Estate Manager Enactor Web maintenance log is generated by the Enactor Web Maintenance application. This log can be used for diagnosing issues with the numerous applications contained within the Estate Manager web UI.

Estate Manager Enactor Web Retail Processing

The Estate Manager Enactor Web Retail Processing log is generated by the Enactor Web Retail Processing application. This log can be used for diagnosing issues with background processing (e.g., sending broadcasts or document processing).

Card Authorisation Server Enactor Web Card Authorisation

The Card Authorisation Server Enactor Web Card Authorisation log is generated by the Enactor Web Card Authorisation application. This log can primarily be used for diagnosing issues with the Enactor gift card service.

Application Process Log

The Application Process Log records Events deemed significant at the level of Process design. Application Processes are often executed as scheduled jobs. However, Application Processes running as background services often consume message entries from one or more queues, processes the objects received and post outputs to another queue or queues. Although Application Process Log entries are generated sequentially, they are ordered for presentation according to the Process Execution in which they occur.

The Application Process Log is available on the Estate Manager and on each Store Server device.

The Application Process Log page shows details of application process activity. As illustrated in the example below, each entry is listed in the log, grouped for the Process showing Type (also using the Error (), Warning () or Informational () icons, Date (and time) of the message, the Message, Device ID, Entry Type, Reference ID, Process ID and User ID.

The following filters are available in the Application Process Log:

FilterDescription
Log Entry TypeDropdown selection from a list - Errors, Warnings, Information or Debug.
Start DateBeginning of a Date Range selection within which entries occurred
End DateEnd of a Date Range selection within which entries occurred.
RegionDropdown selection from a list of configured Regions.
LocationDropdown selection from a list of configured Locations.
User IDSelect entries based on the User Account under which the Application Process was executing.
DeviceDropdown selection from a list of configured Devices. Selects entries for the Device on which they occurred
Device IDAllows filtering based on a partial or full device ID.
Entry TypeThe way the Application Process has been executed (usually scheduledJob).
Reference IDThis refers to the ID of the scheduled job that triggered the log entry.
Process IDThe ID of the Application Process executing (e.g., DayStartJob).
Application Process Log - View

Individual entries can be viewed using the View icon () in the left column of the list.

The log information is presented in tabs available in the View page depending on the type of Log Entry. All fields are read-only.

Application Process Log -General Tab View

The General Tab shows general details of the selected application process log entry. The fields are:

PropertyDescription
TypeThe type of log entry e.g. Error.
DateDate and time at which the log entry occurred.
Entry TypeType of activity which caused the log entry e.g. businessProcess.
Reference IDID of the reference for the log entry.
Process IDID of the process which caused the log entry e.g. Task/ServerProcessRunner.
Device IDID of the device where the problem occurred.
User IDID of the User associated with the problem.
Message IDID of the message in the file specified in the following field e.g. GENERATE_ADJUSTMENT_PDF_ERROR_2.
Message BaseThe file which contains the message detailed in the previous field e.g. InventoryManagement/Adjustments/AdjustStockAtLocationMessages.
MessageThe message generated using the message ID and message base defined in the previous fields.
Application Process Log -Exception Summary Tab View

The Exception Summary Tab shows summary details of the exception that occurred corresponding to the selected log entry.

Application Process Log -Exception Details Tab View

The Exception Details Tab shows exception details of the selected application process log entry.

Changing Logging Configuration

It is possible to change logging levels and define specific logging on all devices except the Estate Manager.

If an issue is detected, Enactor may ask for some specific class or process specific logging to be switched on. If this is the case, Enactor will specify which log properties file that this should be added to.

Note that once the changes to the log properties file have been made, the relevant application should be restarted to pick up the change.

Class Logging

Add an entry for the class in the form **{class}.level=LOG_{level}** where **{class}** is the class name and **{level}** is the log level. The below example logs debug for all com.enactor classes.

Amend com.enactor.level to the specific class to be debugged.

com.enactor.level=LOG_DEBUG
Useful Class Logging Examples
Promotion Engine Code Debug Logging

The Following turns on debug logging of the Promotion Engine at code level.

com.enactor.mfc.promotion.engine.PromotionEngine.level=LOG_DEBUG
com.enactor.mfc.promotion.engine.PromotionResponseTree.level=LOG_DEBUG
com.enactor.mfc.promotion.engine.PromotionCombinations.level=LOG_DEBUG
Database performance logging

Writes out performance logging for the database in the Performance/SQL directory

com.enactor.core.management.PerformanceLogger.level=LOG_DEBUG

com.enactor.core.database.PerformanceLogger.level=LOG_DEBUG

Privilege logging

Enables writing out to the log the missing privilege when an operator doesn't have permission to perform a function.

com.enactor.coreUI.actions.CheckPrivilegesAction.level=LOG_DEBUG

com.enactor.coreUI.actions.CheckPrivilegesForUserAction.level=LOG_DEBUG

Peripheral logging

Enables debug logging for any peripherals attached to the POS.

com.enactor.peripherals.level=LOG_DEBUG

Process Logging

The following entries need to be added to the log properties file to enable process logging, where Process.level can be changed to Process.<parent process to log>.level to monitor a specific process, e.g. Process.Pos.SignOn.SignOn.level=LOG_DEBUG. Note that the process id uses dots instead of slashes.

Turn on process debugging (the following 3 coreUI classes must be set to LOG_DEBUG for it to be activated)

com.enactor.coreUI.processes.UIProcess.level=LOG_DEBUG
com.enactor.coreUI.states.UIState.level=LOG_DEBUG
com.enactor.coreUI.actions.UIActionExecutor.level=LOG_DEBUG
Process.<parent process to log>.level=LOG_DEBUG

If this is required, Enactor will provide name of the process(es) to be added to the relevant log configuration file.

Again, once the changes to the log properties file have been made, the relevant application should be restarted to pick up the change.