The default behavior of the Exception Manager is to publish exceptions to the Windows Event Log, however, Aptify also provides the ability to write the log exceptions to a file within the Aptify database. In addition, Aptify also includes publishers that can write to a database or send an SMTP message and it is possible to create new publishers as a plug-in. Aptify has the ability to enable a database publisher. Enabling the database publisher sends exceptions logged in the database to the Error Log entity, and saved as Error Log records so that the Aptify viewing system and entity form template functionality can be used to find and view these exceptions.
When only the database publisher is enabled in Aptify, exceptions are no longer sent to the Windows Event Log. It is possible to enable both publishers so that exceptions are sent to the Windows Event Log and to Error Log records.
The steps below illustrate how to configure Aptify so that exceptions are logged to a common file.
- Log in to Aptify using the default login dialog if you have not previously logged in as this user.
- When a user connects to Aptify from a computer running the Aptify Desktop client for the first time, the client downloads new copies of all of the relevant Object Repository Objects, including Startup.exe.config and Aptify Shell.exe.config.
- You can also capture exceptions from an Aptify application server by modifying the AptifyAsyncProcessor.exe.config file on the Application server.
- You can also log exceptions capture from Aptify web by modifying the site's web.config file.
- Locate the Startup.exe.config and Aptify Shell.exe.config file on your client computer (typically located in C:\Program Files\Aptify 6.0).
- Right-click the file and select Properties from the pop-up menu to open the Windows Properties dialog for this file.
- If necessary, clear the Read-only check box in the Attributes section.
- The config files may be read-only by default.
- Click OK to close the file’s Properties dialog.
- Open Startup.exe.config and Aptify Shell.exe.config using a text editor, such as Notepad or Notepad++.
Uncomment the publisher mode attribute from within the exceptionManagement section by removing the <!-- from before and the --> from the end. The line is below:
<publisher mode="on" days="3" exceptionformat="xml" directory="c:\" assembly="AptifyExceptionManagement" type="Aptify.Framework.ExceptionManagement.XMLFilePublisher"/>
If the line does not exist, add it between the exceptionManagement tags.
When no publishers are defined in the exceptionManagement section, the default publisher is used. The default publisher is the Event Log publisher.
Configure the settings to fit your organization’s needs.
- publisher mode: Values are On or Off. When set to On, exceptions are published to that publisher. When set to Off, exceptions are not published to the publisher.
- days: The length of time that exceptions are logged before a new file is created.
- exceptionformat: The format of the exception file.Values are xml or exception. The supported format for the default publisher is xml.
- directory: The location where the file should be logged. Note that all users must have access to the file and file location.
assembly: The assembly for this publisher. The default value is AptifyException. However, a developer can create a plug-in based on an organization’s needs.
type: The publisher type. The default value is Aptify.Framework.ExceptionManagement.XMLFilePublisher. Aptify adds support for a database publisher that sends database exceptions to a new entity, Error Log. The type for the database publisher is Aptify.Framework.ExceptionManagement.DatabasePublisher.
For example, to enable the database publisher, you would enter something similar to the following:
<exceptionManagement mode="on" defaultseverity="0" legacytextformat="true"> <publisher mode="on" assembly="AptifyExceptionManagement" type="Aptify.Framework.ExceptionManagement.DatabasePublisher"/> </exceptionManagement>
In this example, both the default Error Log publisher and the database publisher are enabled:
<exceptionManagement mode="on" defaultseverity="0"> <publisher mode="on" assembly="AptifyExceptionManagement" type="Aptify.Framework.ExceptionManagement.DatabasePublisher"/> <publisher mode="on" assembly="AptifyExceptionManagement" type="Aptify.Framework.ExceptionManagement.EventLogPublisher"/> </exceptionManagement>
- Save the Startup.exe.config and Aptify Shell.exe.config file (or web.config for Aptify web or AptifyAsyncProcessor.exe.config file on the Application server).
When the database publisher is enabled, all exceptions are logged to Error Log records (unless you have it configured to log to both Aptify and the Windows Event Log). This can result in a large number of records which you may find you want to archive or delete overtime. There is not currently an archive run type to support archiving. This is a feature we are considering for future releases. Please contact Aptify if you are interested in this feature. See Archiving Transactional Data for more information.
Aptify adds a stored procedure database object, spDeleteERRORLOGRecordBefore, to the Error Log entity to enable the deletion of all Error Log records created before a date specified in a parameter, @BeforeDate.