I'm not sure that's possible as FME does not seem to flush the file buffer for each line it writes (which is a good thing, performance-wise).
You can accomplish what you need with Python, however, e.g. by using the following code in a PythonCaller:
import fmeobjects
class FeatureProcessor(object):
def __init__(self):
self.filehandle = open(FME_MacroValues['OUTPUT_FILE'], 'a')
def input(self,feature):
text_line_data = feature.getAttribute('text_line_data')
if text_line_data:
self.filehandle.write(text_line_data + '\n')
self.filehandle.flush()
self.pyoutput(feature)
def close(self):
self.filehandle.close()
You will have to assemble your CSV line yourself, however, and put the result into the attribute "text_line_data" before the PythonCaller.
You can change the 'a' to 'w' on line 5 if you want to reset the file every time the workspace restarts, otherwise it will append to an existing file.
You will also need to create a published parameter OUTPUT_FILE that will contain the full path and name of your output file.
If you want the FME translation log to contain the number of lines written (statistics), you can connect a NULL writer to the output port of the PythonCaler.