Introduction
Log files are the best resource available for debugging workflows on FME Flow. In addition to the general translation details, we can use workspace tools and settings to record additional information to the job and automation log files.
This article contains instructions and tips for using additional logging tools to troubleshoot issues affecting FME Flow workflows. It is best used for general investigation and diagnostics. Search keywords and errors on the Knowledge Base to find resources. Ensure you review the complete list of FME Flow Troubleshooting Guides when identifying the source of the issue.
Debugging Disclaimer
Before you begin troubleshooting, carefully consider which tool will be most effective for solving the problem you are encountering in FME Flow. Not every tool or strategy will be useful or relevant to your issue. However, any progress is useful since troubleshooting is often a process of elimination.
The following sections may provide example directions for using each tool; however, availability and instructions may vary depending on the operating system, deployment type, software version, and other system factors.
Always use caution or contact your FME Flow administrator before making any changes to your installation.
Logging in “Debug Mode”
Debug logging records additional translation information to the job log. “Debug mode” is best used when an error has already occurred and you seek further information. For example, in the event of a web and database failure, “debug mode” will often record more detailed information about the request, response, and transaction to the job log.
Enable Debug Logging in FME Workbench
Open the workspace in FME Workbench. In Workbench settings, turn on the Log Message’s debug filter. From Windows:
Main Menu > Tools > FME Options… > Translation > Log SettingsLog Debug is applied for all workspaces run in Workbench while the setting is enabled.
Please note that if you enable Log Debug in FME Workbench, then publish a workspace to FME Flow, all jobs for that workspace will also have Log Debug enabled. This is not recommended for production workspaces as it may impact performance.
Enable Debug Logging in FME Flow
To enable debug logging for Run Workspace in FME Flow, log in to FME Flow and check the "Log Debug" option under:
FME Flow Homepage > Run Workspace > Advanced > Log DebugTo enable Log Debug for all jobs for the same workspace, republish the workspace to FME Flow with Log Debug enabled in FME Workbench.
Once Log Debug is enabled, a more detailed job log can be found under "Jobs > Completed" after running the workspace.
Keep in mind that most debug messaging is insignificant to a workflow. For example, nearly all messages labelled “BADNEWS ” can be ignored. It’s a good idea to disable debug logging when finished troubleshooting, as these messages can be misleading and Log Debug can impact job performance.
System Logs DEBUG_LEVEL
System logs can also produce more detailed messaging. Each FME Flow component has a configuration file, "messagelogger.properties", that contains settings for the process logging.
Update the DEBUG_LEVEL parameter to SUPER_VERBOSE to capture more information in the logs.
Increasing the logging verbosity produces larger log files, which can consume excessive disk space. Consider enabling verbose logging only temporarily while troubleshooting or increasing the frequency of system cleanup tasks.
Inspecting Workflow Values with Logging Tools
Bad data can cause workflows to fail or produce unexpected results. We can add tools to our workflows that record the raw values in the log file.
Logging can occur at the workspace or Automation level in FME Flow. Choose a workspace, Logger transformer, or automation Log action to capture and record values at specific points of a workflow.
Logging Workspace Values
To log values at any point in a workspace, connect a Logger transformer to an existing output port. If you’re interested in just a specific attribute, select it in the Logger’s text editor.
Republish the workspace to FME Flow and rerun the translation. In the job log, search for the “Logger” message. Are the attribute values expected or valid? The value for the “first name” attribute is recorded in the job log, in addition to the feature’s other attributes.
Logging Automation Values
To log values at any point in an Automation, connect a Log Action to a success or failure port. Use the Log Action’s Formatted Message drop-down menu to select a single upstream value or use the Text Editor to log several values.
A Log Action is connected to the “Success” output port of an Email Trigger. The drop-down menu allows us to select the incoming email attachment value.
Trigger the automation and review the automation log. The logged value will follow the event.
Manually Triggering an Automation
If you’re experiencing failures with one of the Automation Triggers, the Manual Trigger can be used to run an Automation on demand and use sample event JSON data as input. This is useful for building or debugging an Automation that would otherwise require a spontaneous event to be triggered, such as a webhook or directory watch.
Logging Workspace Values in an Automation
You can use the FME Flow Automations Writer in order to pass translation values to the Automation log.
Below, a workspace writes a dataset and passes its name to an FME Flow Automation writer. Used in an Automation, that information can be passed directly to another action, such as a Log. The drop-down menu allows us to select the correct attribute to record to the Automation log.
See How I can use 'FME Flow Automation Writer' to pass data to other Workbench in FME Flow?
Python Logging
Python workflows can fail in FME Flow if the required modules are not found. Print the locations of Python dependencies directly to the job log to verify.
In the PythonCaller, add the following snippet to the script:
import sys
print(sys.path)The log file will now include a list of the system paths FME Flow is loading. Confirm the following:
- The expected interpreter is loaded.
- The correct directories are listed.
- Navigate to the actual directories to confirm that modules, files, and folders are actually present.
Review Logging with Python scripts for a more complete overview in logging Python scripts in FME.
Additional Resources
- Review the FME Flow Troubleshooting Guides for common questions and solutions
- Follow along with Debugging for Workspaces for troubleshooting strategies and methodology.
- Search the Knowledge Base for keywords related to your problem
- Contact Safe Software Support and include any logs, screenshots, or information captured while troubleshooting.