Logging and Log Interpretation
FME logs contain a record of all stages and processes within a translation. The contents are therefore vital for debugging purposes.
Log Message Types
There are different message types that show in the log window including:
Error: An error, denoted in the log by red text and the term ERROR, indicates that a problem has caused FME to cease processing. For example, FME is unable to write the output dataset because of incorrect user permissions.
Warning: A warning, denoted by blue text and the term WARN, indicates a processing problem. The problem is sufficiently minor to allow FME to complete the translation, but the output may be adversely affected and should be checked. For example, FME is unable to write features because its geometry is incompatible with the writer format. The features will be dropped from the translation and a warning issued in the log.
Information: Information messages, denoted by the term INFORM, indicate a piece of information that may help a user determine whether their translation has been processed correctly. For example, FME sometimes logs confirmation of a particular dataset parameter, such as the coordinate system.
Statistics: Statistics messages, denoted by the term STATS, provide information on various numbers relating to the translation; for example, the number of features read from a source dataset, and the time it took to do so.
Spatial Log File
Besides writing the log to a text file (<workspace name>.log) FME also writes a spatial log:
The spatial log is a dataset of features (in FME Feature Store format) that have been mentioned in the log. A spatial log will be generated from <Rejected> Features, by using Navigator > Workspace Parameters > Reader/Writer Redirect, or by using a Logger with Feature Logging set to "Log and Record."
The FFS dataset can be opened within FME Data Inspector or the Visual Preview window in FME Workbench to inspect the features and identify any problems that caused them to be rejected.
Interpreting the Log Window
The log window should be the first place to check when a translation is completed. It will tell the user whether there are any concerning errors or warnings.
Errors
If an ERROR occurs, it is likely that the translation will be halted. There will be a lot of red text and some statements such as:
Program Terminating
Translation FAILED.
There may be several ERROR messages, so scroll back up the log window to try and identify the first of these, which is likely to be the cause of the problem. For example this message:
ERROR |Error connecting to PostgreSQL database(host='postgis.train.safe.com', port='5432', dbname='fmedata', user='fmedata', password='*'): 'FATAL: password authentication failed for user "fmedata" FATAL: password authentication failed for user "fmedata"
...is an obvious problem with authenticating a database connection.
Warnings
Even when a translation succeeds, it's important to check the log for the following comment:
Translation was SUCCESSFUL with X warning(s)
If there are any warnings (for example, if X > 0) then use the search option to look for the word WARN. Any warning messages might have important consequences for the quality of the output data.