Using Logs

MYOB Advanced stores logs in a number of files and database tables. This topic contains information about the following logs:

  • Trace: You can use this standard MYOB Advanced log for browsing issues that occur in the application.
  • First-chance exception log: This mechanism for catching and logging exceptions can be very helpful when you are facing a problem of an unknown origin.
  • Configuration Wizard logs: These logs provide information related to issues occurring in the MYOB Advanced Configuration Wizard.
  • Maintenance logs: In these logs, you can find details about issues that occur when you perform an upgrade in the MYOB Advanced application.
  • MYOB Advanced logs: These logs, which are stored in database tables, provide historical data for various operations.
  • Windows logs: These logs provide details for issues related to ASP.NET (for example, frequent application restarts or unhandled exceptions).
  • IIS logs: In these logs, IIS keeps records of all requests.
  • SQL Server logs: These logs, kept by SQL Server, contain details for issues related to database accessibility and server maintenance operations.

Trace

The MYOB Advanced trace log is the first place you should look when you face an issue in the application. You can view the trace log by clicking Tools > Trace on the form title bar.

When you are working with reports or generic inquiries, the trace log contains relevant SQL statements that you can use for SQL debugging purposes.

By default, the trace log is stored only in the current user session. However, you can also store the trace log in the file system. This possibility is useful when you are dealing with errors that cause Internet Information Services (IIS) to become unresponsive and result in a web server restart.

To make the trace log stored in a file as well as in the current user session, edit the pxtrace section of the web.config file (which is located in the folder that contains the application instance website) similarly to the code block shown below.

<px.core>
    ...
    <pxtrace defaultProvider="PXSessionTraceProvider">
        <providers>
            <remove name="PXSessionTraceProvider" />
            <add name="PXSessionTraceProvider" type="PX.Data.PXSessionTraceProvider, PX.Data" 
                 url="../Frames/Trace.aspx" />
            <remove name="PXFileTraceProvider" />
            <add name="PXFileTraceProvider" type="PX.Data.PXFileTraceProvider, PX.Data" 
                 file = "C:\Out\AcumaticaTraceInfo.txt" />
        </providers>
    </pxtrace>
    ...
</px.core>

In this case, the log file will be stored in C:\Out\AcumaticaTraceInfo.txt. You should create the folder for the log file manually.

Tip: You will have to monitor the size of the log file manually and delete its contents from time to time to avoid excessive growth of the file.

If you prefer to store the trace log only in a file and not in the current user session, edit the pxtrace section of the web.config file similarly to the code block shown below.

<px.core>
    ...
    <pxtrace defaultProvider="PXSessionTraceProvider">
        <providers>
            <remove name="PXFileTraceProvider" />
            <add name="PXFileTraceProvider" type="PX.Data.PXFileTraceProvider, PX.Data" 
                 file = "C:\Out\AcumaticaTraceInfo.txt" />
        </providers>
    </pxtrace>
    ...
</px.core>

First-Chance Exception Log

MYOB Advanced has a mechanism for catching and logging all exceptions in the system. You can activate it by editing the appropriate line in the appSettings section of the web.config file (which is located in the folder that contains the application instance website) to read as follows.

<add key="EnableFirstChanceExceptionsLogging" value="true" />

You can edit the file name for the log in the following line of the same section. (By default, the log will be stored in <Site_Folder>\App_Data\firstchanceexceptions.log, where <Site_Folder> is the path to the folder that contains the application instance website.)

<add key="FirstChanceExceptionsLogFileName" value="firstchanceexceptions.log" />
Note: The first-chance exception log contains records of all exceptions, including those that the system has already caught and handled without issues, so the log file will grow rapidly and may reach an unmanageable size in minutes. Because of this, we recommend that you activate this logging mechanism for only short periods of time. In addition, you may want to erase the contents of the file once the error has been replicated and you have determined the required call stack.

When you are facing a problem of an unknown origin, we recommend that you use this logging mechanism before trying other solutions—that is, you enable the mechanism, replicate the error, disable the mechanism to stop the log file from growing too much, and view the resulting log.

Configuration Wizard Logs

If an error occurs when you are using the MYOB Advanced Configuration Wizard, you can find the details of the error in the <Application_Installation_Folder>\log.txt wizard log.

In particular, if you are performing an upgrade by using the MYOB Advanced Configuration Wizard, the log contains all errors that have occurred during the upgrade, including all failed SQL statements.

Note: If a log file becomes too large, you can create a backup and delete the file.

Maintenance Logs

In the maintenance logs, you can find details for issues that occur when you perform an upgrade in the MYOB Advanced application. The maintenance logs are stored in the following locations:

  • The UPErrors database table: This table contains all errors that occur during an update of the database performed in the MYOB Advanced application. The table is displayed on the Update History tab of the Apply Updates (SM203510) form.
  • The maintenance log file (<Site_Folder>\App_Data\maintlog.txt): This file contains all errors that occur during a site upgrade performed in the MYOB Advanced application. In addition, the file contains all failed SQL statements. You can view this file in MYOB Advanced by clicking Show Log File on the Update History tab of the Apply Updates form.

MYOB Advanced Logs

Other logs that may be useful are stored in the following database tables:

  • LoginTrace: All login, logout, form opening, session expiration, and customization publishing events
  • UPSnapshotHistory: All snapshot restore operations
  • UPHistory: All application updates
  • AUScheduleHistory: All schedule execution events
  • AuditHistory: All field changes (if auditing is enabled)
  • EMailSyncLog: All exchange synchronization operations
  • AUNotificationHistory: All notification operations
  • PushNotificationsErrors: Errors during creation of push notifications
  • PushNotificationsFailedToSend: Information on the push notifications that MYOB Advanced failed to send to the notification destination within the last two days

Windows Logs

You may need to check the Windows logs if any of the following is occurring:

  • Your application restarts frequently.
  • There are unhandled exceptions in the application.
  • The system shows the Session has expired message too often.

ASP.NET Core records various exceptions and maintenance operations to these logs. The two Windows logs you need to check are the Application and System logs. To do this, open Windows Event Viewer and, in the navigation pane, select:

  • Windows Logs > Application for the Application log.
  • Windows Logs > System for the System log.

We recommend that you search the logs for the following events:

  • .NET Runtime events
  • ASP.NET events
  • IIS events
  • Network events

IIS Logs

Records of all requests are stored in the IIS (Internet Information Services) log files. To find the log files for your site, open IIS Manager, navigate to the site, and double-click Logging. On the Logging feature page that opens, in the Directory box, you can find the path to the folder with the log files.

SQL Server Logs

In Microsoft SQL Server, storage of system logs is enabled by default. These logs contain information about database accessibility and server maintenance operations. To view the logs, open Object Explorer in Microsoft SQL Server Management Studio and navigate to <Your_Server> > Management > SQL Server Logs.