---
title: "Nutrient Workflow on-premises log files guide"
canonical_url: "https://www.nutrient.io/guides/workflow-automation/faq/where-are-the-logs-for-my-onpremise-installation-what-do-they-contain-and-what-should-i-look-out-for/"
md_url: "https://www.nutrient.io/guides/workflow-automation/faq/where-are-the-logs-for-my-onpremise-installation-what-do-they-contain-and-what-should-i-look-out-for.md"
last_updated: "2026-06-09T10:25:14.576Z"
description: "Explore common log files for your Nutrient Workflow installation and learn how to manage them for effective troubleshooting and monitoring."
---

# Understanding Nutrient Workflow log files for troubleshooting

Below is a list of the most common log files produced by the application and its services. These files contain general logging of Nutrient Workflow events as well as critical and informational messages helpful in troubleshooting if problems occur. If these files become large on your system, you can delete them at any time. Some of these logs will only show up if you have debug turned on in the nutrient workflow\app\settings\settings.config file.

We are asked often what to look for in these files when implementing a monitoring tool. The answer is that you probably shouldn't. The Nutrient Workflow application has numerous self-checks embedded in the code. So, even though a message may appear in a log, there is a very good chance that the application already either worked around the issue or retried the same activity successfully before you are even alerted of an error. A good rule of thumb is that the Nutrient Workflow logs files should only be used to assist in troubleshooting user-facing issues. Almost every critical error will have a corresponding negative user interface impact.

**nutrient workflow\app\scheduler\logs (v6 only):**

* _< YYYY-MM-DD>_scheduler.log - contains information regarding scheduled reports and processes depending on your logger-config.json configuration. _

**nutrient workflow\app\service:**

* _< instancename>_exceptions.xml_ - contains mostly critical and some noncritical errors relating to the function of Nutrient Workflow. Typically errors that cannot get logged to the database because of a database connectivity issue or any other system issues are logged here. If for some reason Nutrient Workflow does not function after an upgrade or a server reboot / IIS restart, you will want to take a look at this file.

* __ <descriptor>_exceptions.xml - _contains error messages relating to the descriptor. As an example, _connections_exceptions.xml will show errors relating to database connections.

* _SystemSettings.log_ - contains a log of the number of Nutrient Workflow instances and the number of settings per instance. For most installed customers this should be 1 and 47 respectively. It writes to this file anytime the first user hits the site after an application pool recycle or service restart. This is a verbose log and contains information as well as errors.

**nutrient workflow\app\webserver\iisnode:**

* _< servername>-<#>-stderr-<##>.txt _- contains both critical and non-critical messages relating to the function of Nutrient Workflow. If for some reason Nutrient Workflow does not function after an upgrade or a server reboot / IIS restart, you will want to take a look at this file. Most real errors will appear in this file along with verbose messages.

* _< servername>-<#>-stout-<##>.txt _- contains both critical and non-critical messages relating to the function of Nutrient Workflow. If for some reason Nutrient Workflow does not function after an upgrade or a server reboot / IIS restart, you will want to take a look at this file. Most real errors will appear in this file along with verbose messages

**nutrient workflow\app\webserver\logs:**

* _< YYYY-MM-DD>_session\_stats_<license>.log _- contains license usage stats.

* _< YYYY-MM-DD>_error_<application area>.log _- contains errors of all kinds depending on what area of the application was affected (process, route, etc). This should be one of the first logs to look at when a user reports an error or an issue.

* _< YYYY-MM-DD>_info_<application area>.log _- contains informational messages of all kinds depending on what area of the application was affected (process, route, etc).

* _< YYYY-MM-DD>_warning_<application area>.log _- contains warnings of all kinds on what area of the application was affected (process, route, etc).

**nutrient workflow\app\windowsservices:**

* _< instancename>_exceptions.xml_ - contains mostly critical and some non-critical errors relating to the function of Nutrient Workflow. Typically errors that cannot get logged to the database because of a database connectivity issue or any other system issues are logged here. If for some reason Nutrient Workflow does not function after an upgrade or a server reboot / IIS restart, you will want to take a look at this file.

* _SystemSettings.log_ - contains a log of the number of Nutrient Workflow instances and the number of settings per instance. For most installed customers this should be 1 and 47 respectively. It writes to this file anytime the first user hits the site after an application pool recycle or service restart. This is a verbose log and contains information as well as errors.

* _< instancename>_sync\_log.xml_ is updated every time the [ADSync](https://www.nutrient.io/guides/workflow-automation/faq/how-do-i-import-active-directory-users-into-nutrient-workflow-using-adsync.md) application is run. It contains success and error logging.

**nutrient workflow\app\windowsservices\tp\_logs:**

This directory contains logs and errors from the Nutrient Workflow Task Processor. Error files are named yyyymmdd_tp.error. These files will list each instance the processor was able to hit, and the count of the notifications sent for reminders as well as the number of task timeouts for that instance. This is logged every time the Task Processor runs, which is every 5 minutes by default.

**nutrient workflow\app\windowsservices\em\_logs:**

This directory contains logs and errors from the Nutrient Workflow Email Monitor. Error files are named yyyymmdd_em.error.

**ERROR\_LOGGER**

This is a table that resides in your Nutrient Workflow database. You can run a select statement directly against the table with the tool of your choice to view its contents

Aside from the files, folders, and tables listed above, the windows event logs will also hold valuable information in case of a problem. Normally the event logs are most useful for analysis if the files above are not being updated or recreated after deletion.

The main locations for logged events for the application are in the \nutrient workflow\app\webserver\logs directory as well as the \nutrient workflow\app\webserver\iisnode directory.
---

> Part of [Frequently asked questions](/guides/workflow-automation/faq.md)

## Related pages

- [Connect Nutrient Workflow to an external SQL Server database](/guides/workflow-automation/faq/adding-sql-server-db-to-nutrient-workflow.md)
- [Add tables to email notifications easily](/guides/workflow-automation/faq/adding-tables-to-email-notifications.md)
- [Streamline task management with the Form Assigner](/guides/workflow-automation/faq/assign-future-tasks-with-the-form-assigner.md)
- [Changing milestone task names in project management](/guides/workflow-automation/faq/can-i-change-the-name-of-a-milestone-task-on-a-process-in-production.md)
- [Customize your login screen with these easy tips](/guides/workflow-automation/faq/can-i-change-the-login-screen.md)
- [Migrating requests in workflow automation processes](/guides/workflow-automation/faq/can-i-migrate-a-group-of-requests-from-one-version-of-a-process-to-an-updated-version.md)
- [Preventing request ID creation until task completion](/guides/workflow-automation/faq/can-we-prevent-a-new-request-id-from-being-created-until-a-task-completed.md)
- [Authenticate HTML forms with SAML securely](/guides/workflow-automation/faq/can-we-authenticate-with-saml-when-hosting-html-forms-outside-the-nutrient-workflow-portal.md)
- [Streamline file uploads to SharePoint with Nutrient Workflow](/guides/workflow-automation/faq/can-nutrient-workflow-pass-files-into-sharepoint.md)
- [Mastering the coalesce technique for workflows](/guides/workflow-automation/faq/coalescing-data-ai-an-advanced-nutrient-workflow-technique.md)
- [Streamline onboarding with ad-hoc related requests](/guides/workflow-automation/faq/creating-ad-hoc-related-requests.md)
- [Master table maintenance with Nutrient Workflow processes](/guides/workflow-automation/faq/creating-a-table-maintenance-process.md)
- [Customize your Nutrient Workflow logo with ease](/guides/workflow-automation/faq/custom-logo.md)
- [Do disabled users receive notifications in Nutrient Workflow?](/guides/workflow-automation/faq/do-notifications-get-sent-out-to-users-that-have-been-disabled.md)
- [Document generation vs. PDF generator in workflow automation](/guides/workflow-automation/faq/document-generation-vs-pdf-generator.md)
- [Maximize task management with Nutrient Workflow's solutions](/guides/workflow-automation/faq/does-nutrient-workflow-support-leap-year-dates.md)
- [Understanding task resets and user reassignments](/guides/workflow-automation/faq/does-the-user_recent_activity-store-data-when-a-user-resets-or-re-assign-a-task.md)
- [Embed Outlook and Google calendars in your dashboard](/guides/workflow-automation/faq/embedding-calendars-in-dashboards.md)
- [Efficiently extract grid data for custom tables](/guides/workflow-automation/faq/how-can-i-extract-grid-data-to-add-it-to-custom-tables.md)
- [Enhance Nutrient Workflow security with two-factor authentication](/guides/workflow-automation/faq/does-nutrient-workflow-support-two-factor-authentication.md)
- [Paste spreadsheet rows into a grid](/guides/workflow-automation/faq/how-can-i-paste-spreadsheet-rows-into-line-items.md)
- [Access your private database server easily](/guides/workflow-automation/faq/how-do-i-access-my-private-database-server.md)
- [Enable AUTH for secure Nutrient Workflow and Redis setup](/guides/workflow-automation/faq/how-do-i-enable-auth-for-nutrient-workflow-to-redis-communication.md)
- [Submit a help ticket at the Nutrient Workflow support site](/guides/workflow-automation/faq/how-do-i-submit-a-support-ticket.md)
- [Force users to change passwords on next login](/guides/workflow-automation/faq/how-do-i-force-a-user-to-change-their-password-on-the-next-login.md)
- [Easily prefill contact search fields in forms](/guides/workflow-automation/faq/how-do-i-prefill-in-a-contact-search.md)
- [Schedule a process](/guides/workflow-automation/faq/how-do-i-schedule-a-process.md)
- [Make your process lines straight with grid option](/guides/workflow-automation/faq/how-do-i-make-the-lines-in-a-process-straight.md)
- [Enhance local communication in your application](/guides/workflow-automation/faq/how-do-i-force-local-communication-within-the-application.md)
- [How to limit file attachment size in Nutrient Workflow](/guides/workflow-automation/faq/how-do-i-limit-the-allowed-max-file-attachment-size.md)
- [Editing request details in active workflows](/guides/workflow-automation/faq/how-do-you-edit-request-description-and-other-fields-after-the-workflow-has-started.md)
- [Clear browser cache for smooth workflow](/guides/workflow-automation/faq/how-to-clear-your-browser-cache.md)
- [Import active directory users with ADSync easily](/guides/workflow-automation/faq/how-do-i-import-active-directory-users-into-nutrient-workflow-using-adsync.md)
- [Master dynamic task and request naming effectively](/guides/workflow-automation/faq/how-to-configure-dynamic-task-and-request-names.md)
- [Edit request names seamlessly with dynamic names](/guides/workflow-automation/faq/is-there-a-way-to-edit-the-name-of-a-request-after-it-has-been-submitted.md)
- [Understanding user concurrency in Nutrient Workflow](/guides/workflow-automation/faq/how-is-user-concurrency-determined-for-my-installation.md)
- [How to reset your Nutrient Workflow password easily](/guides/workflow-automation/faq/i-forgot-my-password.md)
- [Automate your report from a set starting date](/guides/workflow-automation/faq/i-would-like-to-set-a-report-to-run-from-a-set-date-say-1-1-15-through-the-current-day-today-how-can-i-set-my-report-to-do.md)
- [Understanding time_out configuration in workflow automation](/guides/workflow-automation/faq/is-there-any-negative-impact-if-we-change-the-time_out-configuration-on-a-task-in-a-process-in-status-production.md)
- [Understanding account lockout rules in Nutrient Workflow](/guides/workflow-automation/faq/is-there-any-way-to-configure-account-lockout-rules.md)
- [Understanding the Nutrient Workflow and PSPDFKit acquisition](/guides/workflow-automation/faq/pspdfkit-acquisition.md)
- [Streamline task assignments with Assigner tasks](/guides/workflow-automation/faq/using-assigner-tasks.md)
- [Understanding requesters vs. recipients in workflows](/guides/workflow-automation/faq/the-difference-between-a-requester-and-a-recipient.md)
- [Optimize your workflows with Excel integration](/guides/workflow-automation/faq/using-excel-to-enhance-your-automation.md)
- [Upgrade your select list fields for better forms](/guides/workflow-automation/faq/upgrading-select-list-fields.md)
- [Best practices for testing workflows in Nutrient Workflow](/guides/workflow-automation/faq/what-are-best-practices-for-testing-in-nutrient-workflow.md)
- [Optimize your workflow with Microsoft Nutrient Workflow integration](/guides/workflow-automation/faq/nutrient-workflow-integrate-microsoft-products.md)
- [Key steps for successful Nutrient Workflow load balancing](/guides/workflow-automation/faq/what-do-i-need-to-change-when-i-load-balance-nutrient-workflow.md)
- [Enhance your subscription with admin coaching support](/guides/workflow-automation/faq/what-is-admin-coaching.md)
- [Understanding character limits for form inputs](/guides/workflow-automation/faq/what-character-limits-apply-to-the-form-input-fields.md)
- [Discover Nutrient Workflow's browser compatibility](/guides/workflow-automation/faq/what-browsers-does-nutrient-workflow-support.md)
- [What Does 'Create a Copy of this Request' Do?](/guides/workflow-automation/faq/what-does-aucreate-a-copy-of-this-request-au-do.md)
- [What is 'Submit on Behalf of:' when starting a new request?](/guides/workflow-automation/faq/what-is-submit-on-behalf-of-when-starting-a-new-request.md)
- [Best practices for archiving request data](/guides/workflow-automation/faq/what-is-the-best-practice-for-archiving-request-data-eg-attachments.md)
- [Fixing missing fields in form data settings](/guides/workflow-automation/faq/why-are-fields-from-my-form-not-showing-up-in-data-configurations.md)
- [Expert advanced technical support for Nutrient Workflow](/guides/workflow-automation/faq/what-is-advanced-technical-support-ats.md)
- [Future logging features for workflow automation](/guides/workflow-automation/faq/when-a-nutrient-workflow-administrator-performs-a-task-resets-or-redo-completion-is-there-a-logging-table-where-this-information-is-st.md)
- [Understanding the iapprove master root account](/guides/workflow-automation/faq/what-is-the-iapprove-account.md)
- [Streamline workflows with the PDF Generator Task](/guides/workflow-automation/faq/what-is-the-pdf-generator-task.md)
- [What is the difference between Monitor and Manage Requests?](/guides/workflow-automation/faq/what-is-the-difference-between-monitor-and-manage-requests.md)
- [Essential guide to workflow versioning](/guides/workflow-automation/faq/when-to-version-a-production-workflow.md)

